Страницы

Поиск по вопросам

суббота, 4 апреля 2020 г.

Вызов телефонного звонка из приложения (обработка исключений)

#java #android

                    
Для вызова телефонного звонка из приложения использую код:

androidVersion = Integer.parseInt(Build.VERSION.RELEASE.substring(0, 1));
String contact_number="123456789";
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:" + contact_number));
if (androidVersion < 5) callIntent.setPackage("com.android.phone");
        else callIntent.setPackage("com.android.server.telecom");
startActivity(callIntent);


Т.е. если версия Андроид < 5, использую setPackage: "com.android.phone".
Версия 5 и более - использую setPackage: "com.android.server.telecom"

Но, как показала практика, не все смартфоны с 5 версией используют "com.android.server.telecom". 
Подскажите, плиз. как обработать такое исключение, чтобы не попасть на ".ActivityNotFoundException
android.intent.action.CALL" и какой setPackage использовать в ОС Андроид 6.0 ?!

Заранее, благодарю!
    


Ответы

Ответ 1



А если попробовать вот так: String contact_number="123456789"; Intent callIntent = new Intent(Intent.ACTION_CALL); callIntent.setData(Uri.parse("tel:" + contact_number)); try { callIntent.setPackage("com.android.phone"); startActivity(callIntent); } catch(Exception e) { callIntent.setPackage("com.android.server.telecom"); startActivity(callIntent); }

Комментариев нет:

Отправить комментарий