Android отклоняет входящий звонок

В моем проекте Android (с целевой версией SDK 23) я хочу отклонить входящий вызов. Я знаю, что есть много вопросов по этому поводу, в частности,

1 Как импортировать com.android.internal.telephony.ITelephony в приложение Android

2 Как отклонить звонок программно в Android

3 Как отклонить любой входящий звонок, когда я его уже обнаружил

В первой ссылке предлагаемое решение - использовать отражение на интерфейсе. ITelephony потому что это внутренний интерфейс. Но это решение использовать MODIFY_PHONE_STATE разрешение, которое может быть предоставлено только системным приложениям, поэтому оно все равно не будет работать.

Из второй и третьей ссылки я понимаю, что решение является копией ITelephony отсюда положить его в новый пакет com.android.internal.telephony в моем решении. Проблема в том, что в этом интерфейсе много проблем с поиском класса android.telephony.RadioAccessFamily (ошибка не может найти класс символаRadioAccessFamily), этот класс находится в базе платформы платформы Android.

Есть идеи для решения этой проблемы?

1 ответ

Решение

Я нашел ответ сам. Для других заинтересованных, вот здесь это:

создать папку aidl в главной папке.

создать пакет com.android.internal.telephony в папке aidl

создайте файл aidl в пакете:

interface ITelephony {      

    boolean endCall(); 
    void answerRingingCall();      

}

код завершения вызова см. в ответе по ссылке.

и не обязательно добавлять разрешение

android.permission.MODIFY_PHONE_STATE

Другие вопросы по тегам