Я перехватил исходящий звонок, но не смог понять логику входящих звонков и их перехватов, упомянутых на этих страницах.
- personZubair  schedule22.02.2013
Для того, чтобы перехватить ваш звонок, вам достаточно: 1. Создать пакет с именем. com.android.internal.telephony; 2. В этом пакете создайте файл интерфейса с именем ITelephony. и напишите этот код в этом файле интерфейса.
Работал на меня. Потрясающий !!
- personAhmed; 18.03.2013
comment
получение NoSuchMethodException в методе m = c.getDeclaredMethod(getITelephony);.. Как этого избежать????
- personuniruddh; 26.03.2014
comment
@Zubair, нужно ли для этого какое-либо разрешение?
- personSazzad Hissain Khan; 30.06.2014
comment
это не работает. Есть ли обновленный метод программной блокировки вызовов в Android?
- personWijay Sharma; 21.03.2018
comment
Это сработало, но с последним путем безопасности (H2 2018) кажется, что этот метод был подключен Google. По крайней мере, это похоже на мой Pixel 2, не уверен, что кто-то еще может подтвердить
- personD2TheC; 26.06.2018
Отличные решения .. Нужно добавить к нему одно дополнение ... Для версий M + нам также необходимо получить разрешение времени выполнения для CALL_PHONE. Ваше здоровье!
- personAndroidHacker; 04.10.2016
comment
Поместили полное решение в ответ на вопрос, заданный самим собой. версия зефира"> stackoverflow.com/questions/39527748/
- personAndroidHacker; 04.10.2016
Ссылки, которые вы предоставили, довольно хороши. Просто нужно больше терпения :)
счастливое кодирование.
personAriel Magbanuaschedule21.02.2013
comment
лол .. Я пытался от 4 до 5 дней .. думал, может быть что-то пропущено в этих ссылках ..
- personZubair; 22.02.2013
comment
Еще один совет: если вы хотите, чтобы телефонные звонки отклонялись только в том случае, если приложение запущено, лучше зарегистрируйте приемник программно в цикле onResume и отмените его регистрацию в цикле Pause. Потому что я думаю, что если вы зарегистрируете его в манифесте, оно будет зарегистрировано до тех пор, пока приложение не будет удалено из вашей системы, и оно будет перехватывать или принимать телефонные звонки, даже если приложение не запущено.
- personAriel Magbanua; 22.02.2013
comment
Хм. это хороший момент. Но что, если я пользуюсь услугами? Я должен отменить регистрацию при уничтожении ()?
- personZubair; 22.02.2013
comment
Вы не можете отменить регистрацию сервисов, вместо этого вызвать метод stopService и выполнить его в цикле onPause(), потому что я думаю, что onDestroy() не гарантируется системой.
- personAriel Magbanua; 22.02.2013
Это лучший учебник для блокировки всех входящих вызовов. Вы можете настроить его так, чтобы он блокировал входящие вызовы только для выбранных номеров.
Если вы собираетесь создать киоск-приложение, я предлагаю вам получить настройки уведомлений и перевести устройство в режим «Не беспокоить».
var mNotificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
mNotificationManager.setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_NONE)