Страницы

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

пятница, 21 июня 2019 г.

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

Для вызова телефонного звонка из приложения использую код:
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 ?!
Заранее, благодарю!


Ответ

А если попробовать вот так:
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); }

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

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