Intereting Posts
Android: наложение TextView на LockScreen «Версия биллинга в приложении 3 не поддерживается» с обновленным Play Store Поддерживает ли Android поток? Настройка альфа-прозрачности в элементе управления listView Android: как установить высоту рисунка в процентах? Активность <Имя приложения> просочилась в ServiceConnection <Имя_соединения> @ 438030a8, которая была первоначально связана здесь Как правильно сбрасывать изображения? Как узнать, что мое приложение удалено с устройства …? Конвертировать временную метку в текущую дату в android Кэш Пикассо с различными применяемыми преобразованиями Кнопка Android Onclick Как анимируется макет Google Maps? JQuery Mobile native не работает над дроидом Gradle показывает ошибку для библиотеки поддержки: «Версия модуля com.android.support:support-v13:19.0.1 зависит от библиотек, но не является самой библиотекой» Мое приложение открывается при нажатии на URL-адрес в Android

Действие не найдено для обработки Intent with action.DIAL

Кажется, мне не хватает знаний о том, как обращаться с такими намерениями, но не могли найти ответа на некоторое время.

У меня есть активность с одним фрагментом. Фрагмент выполняет этот код для вызова контакта:

private void onCall() { Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(contact.getBusinessPhone())); startActivity(intent); } 

Также включено разрешение

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

Результатом является « No Activity found to handle Intent и приложение отключается.

Здесь показана манифестная реализация активности, которая содержит фрагмент:

 <activity android:name="activities.ContactActivity"> <intent-filter> <action android:name="android.intent.action.DIAL" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> 

Что я делаю не так? Нужна ли мне какая-то специальная активность, объявленная в манифесте?

Вам не нужно объявлять циферблатный набор-фильтр в манифесте и не нужно никаких разрешений для ACTION_DIAL. Ищите мою реализацию

 private void startDialActivity(String phone){ Intent intent = new Intent(Intent.ACTION_DIAL); intent.setData(Uri.parse("tel:"+phone)); startActivity(intent); } 

Также хорошо проверить, поддерживается ли телефония на устройстве

 private boolean isTelephonyEnabled(){ TelephonyManager telephonyManager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE); return telephonyManager != null && telephonyManager.getSimState()==TelephonyManager.SIM_STATE_READY; } 

Intent.ACTION_VIEW работал лучше для меня, потому что на планшетах без дозвона он автоматически переключился на «Добавить в контакт».