Существует ли новый официальный API для отклонения звонков на Android? - PullRequest
0 голосов
/ 28 июня 2018

Фон

Очень долгое время не было официального API для блокировки вызовов на Android.

Что разработчики сделали для CallerId и приложений, блокирующих вызовы, - это использовать некоторые приемы отражения, как показано здесь .

Проблема

Кажется, на Android P DP3 не работает блокирующее приложение (протестировано на Pixel 2). Даже очень популярные приложения, такие как TrueCaller, не могут блокировать вызовы.

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

https://www.gsmarena.com/android_p_may_introduce_stricter_call_blocking-news-29940.php

Что я нашел

Единственное решение, которое может заменить его, - это расширение класса InCallService , но при этом ваше приложение должно стать приложением для набора номера по умолчанию:

В дополнение к реализации API-интерфейса InCallService необходимо также объявите в вашем манифесте действие, которое обрабатывает Intent.ACTION_DIAL intent.

Мало того, но только одно приложение может быть установлено как таковое одновременно, поэтому пользователь не может выбрать несколько приложений callerId и / или приложений для блокировки вызовов.

Видя, что я не могу найти альтернативу, и что сейчас самое время запросить такую ​​вещь, я также попросил ее здесь .

Вопрос

Есть ли другая альтернатива для отклонения вызовов?

Предоставляет ли сейчас Google официальную функцию для этого?

1 Ответ

0 голосов
/ 30 июня 2018

Это должно быть довольно просто с новым Android P API. Ваше приложение должно запросить разрешение Manifest.permission.ANSWER_PHONE_CALLS. Затем вы можете вызвать метод endCall из TelecomManager class doc здесь .

...