Android: Как отобразить список приложений для набора номера, установленных на моем устройстве, вместо прямого вызова номеронабирателя по умолчанию

Android: Как отобразить список приложений для набора номера, установленных на моем устройстве, вместо прямого вызова номеронабирателя по умолчанию

Intent intent = new Intent(Intent.ACTION_CALL);
startActivity(intent); 

разрешение -

<uses-permission android:name="android.permission.CALL_PHONE" /> 

Таким образом, с этим кодом вызывается приложение deault dialer. Я хочу, чтобы Android предлагал мне список приложений, которые можно использовать для вызова функций.

1 ответ

Решение

Вы не можете показать список номеронабирателя при использовании намерения ACTION_CALL.

Вам нужно специальное разрешение, потому что ACTION_CALL - это защищенное действие, позволяющее вам позвонить по номеру телефона напрямую, без взаимодействия с пользователем.

Вы можете сделать Intent chooser для ACTION_DIAL, чтобы показать список приложений, в которых есть номеронабиратель. Вы можете использовать этот код.

final Intent intent = new Intent();
intent.setAction(Intent.ACTION_DIAL);
intent.setData(Uri.fromParts("tel", "123456", null));
startActivity(Intent.createChooser(intent, ""), REQUEST_CODE));

Я надеюсь, что это помогает!

Другие вопросы по тегам