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