Вопрос по android, phone-call – Как заблокировать звонки в Android

68

Я хочу заблокировать звонки с нескольких номеров, для этого я хочу написать собственное приложение. Итак, какие API-интерфейсы мне следует использовать?

По сути, я хочу получать уведомления при поступлении вызова, я хочу сравнить номера, если это то, что я хочу заблокировать, я хочу отключить вызов или отключить его или, если возможно, отключить его и записать.

Пожалуйста, не принимайте неправильный ответ, для некоторых может показаться странным, что принятый ответ не является правильным. ayanami
пожалуйста, проверьтеthis updated answer below. Amit Vaghela
stackoverflow.com/a/5268927/1939564 Muhammad Babar
Я думаю, что можно заблокировать входящий звонок. Попробуй это:stackoverflow.com/questions/7121508/… Vineet Shukla

Ваш Ответ

4   ответа
0

Вы можете сделать это, слушая события телефонного звонка. Вы делаете это, имея BroadcastReceiver для PHONE_STATE и NEW_OUTGOING_CALL. Вы найдете там, что это номер телефона.

Затем, когда вы решите завершить вызов, это немного сложно, потому что только с Android P он гарантированно будет работать. Проверьтеhere.

5

Это возможно, и вам не нужно кодировать его самостоятельно.

Просто установите громкость звонка на ноль и вибрацию на ноль, если значение входящего номера равно пустой строке. Это оно ...

Это только что сделано для вас с приложением Nostalk от Android Market. Просто попробуйте ...

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Anurag Uniyal
3

Вы можете просто перенаправить определенные номера в ваших контактах на вашу голосовую почту. Это уже поддерживается.

В противном случае, я думаю, документация для «контактов» было бы хорошим местом, чтобы начать искать.

64

О, МОЙ БОГ!!! Да, мы можем сделать это !!! Я собирался покончить с собой после 24 часов суровых расследований и открытий ... Но я нашел "свежий" решение!

// "cheat" with Java reflection to gain access to TelephonyManager's
// ITelephony getter
Class c = Class.forName(tm.getClass().getName());
Method m = c.getDeclaredMethod("getITelephony");
m.setAccessible(true);
telephonyService = (ITelephony)m.invoke(tm);

всем всем сотням людей, которые хотят разработать свой визит программного обеспечения для управления вызовамиэта начальная точка

есть проект. и есть важные комментарии (и кредиты)

кратко: скопируйте файл aidl, добавьте права доступа к манифесту, скопируйте и вставьте источник для управления телефонией)))

Еще немного информации для вас. AT команды вы можете отправлять, только если у вас есть права root. Чем вы можете убить системный процесс и отправить команды, но вам потребуется перезагрузка, чтобы ваш телефон мог принимать и отправлять вызовы =)))

Я очень счастлив =) Теперь мой Shake2MuteCall получит обновление!

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded

Похожие вопросы