#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); }
Комментариев нет:
Отправить комментарий