Как заблокировать вызовы в android

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

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

Ответ 1

OMG!!! ДА, МЫ МОЖЕМ СДЕЛАТЬ ЭТО!!! Я собирался убить себя после суровых 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);

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

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

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

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

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

Ответ 3

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

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

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

Ответ 4

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

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

Ответ 5

Как UPDATE в android-N, эта функция включена в нее.

Посетите Number-blocking

Android N теперь поддерживает блокирование номеров на платформе и обеспечивает API инфраструктуры, чтобы поставщики услуг поддерживали список заблокированных номеров. Приложение SMS по умолчанию, приложение телефона по умолчанию и приложения-поставщики могут читать от и записать в список заблокированных номеров. Список недоступен в другое приложение.

Преимущество

заключается в следующем:

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

Для получения дополнительной информации см. android.provider.BlockedNumberContract в Справочник API.

Обновить существующий проект.

Чтобы скомпилировать приложение на платформе Android N, вам нужно использовать Java 8 Developer Kit (JDK 8), а для использования некоторых инструментов с Android Studio 2.1, вам необходимо установить Java 8 Runtime Environment (JRE 8).

Откройте файл build.gradle для вашего модуля и обновите значения следующим образом:

android {
  compileSdkVersion 'android-N'
  buildToolsVersion 24.0.0 rc1
  ...

  defaultConfig {
     minSdkVersion 'N'
     targetSdkVersion 'N'
     ...
  }
  ...
}