2016-08-16 4 views
0

Я пробовал кучу альтернатив для автоматического ответа на входящий звонок.Автоответ в android> = 23 Уровень Api

1) Пробовал с помощью (Отбой Private API, работает вызов ответ не)

2) Использование SendOrderedBroadcast и различные другие методы, описанные в этой статье How can incoming calls be answered programmatically in Android 5.0 (Lollipop)?

Если я использовать частный апи он бросает SecurityException (запрашивающее разрешения MODIFY_DEVICE_STATE) и если я использовать методы в посте выше он показывает предупреждения ниже

«Отмена события из-за отсутствия окна фокусировки: KeyEvent {действие = ACTION_UP, KEYCODE = KEYCODE_HEADSETHOOK, Scancode = 0, metaState = 0, flags = 0x20, repeatCount = 0, eventTime = 7550277, downTime = 7550277, deviceId = -1, source = 0x101} "

Пожалуйста, помогите мне, если есть обходной путь для этой проблемы, im, использующий версию Android 23.

заранее спасибо ..

ответ

0

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

1) У вас должен быть доступ к «DRAW OVER OTHER APPS», т. Е. Разрешение на экран, это также будет включать в манифесте разрешение android.permission.SYSTEM_ALERT_WINDOW.

2) Вам необходимо реализовать широковещательный приемник для проверки входящего вызова.

3) Когда обнаружено CALL_STATE_RINGING, запустите новое действие, которое использует другие приложения, используя WindowsManager. Кроме того, настройте wakelock в этом упражнении, чтобы пробудить телефон, если он находится в режиме блокировки экрана.

4) Также используйте это действие для использования методов ответа на вызов, это будет работать так, как теперь ваше приложение находится сверху и в подполье.

5) Убейте эту деятельность и при необходимости откройте свой проект из этой деятельности, а затем убейте это действие.

Новое решение здесь, посмотрите на этот вопрос:

Programmatically accept call in Nougat

0

Я решил эту проблему с помощью функции AnswerRingingCall в TelephonyManager, которые срабатывают на телефон состояния слушателя (TelephonyManager.CALL_STATE_RINGING), когда вы используете этот метод, он фактически выбрасывает исключение безопасности (запрашивая разрешение MODIFY_STATE), но это будет обойти в корневых устройствах, нажав apk на/system/priv-app

+0

можно ли это сделать, не укоряя телефон? –

Смежные вопросы