У меня есть обезьяна-помощник: я устанавливаю свой.apk с помощью monkeyrunner и готов объект device
. Другими словами
device.press('KEYCODE_MENU', 'DOWN_AND_UP')
работает отлично.
Я использую expect
, чтобы телнет на андроид эмулятор шахты и сделать gsm call SOME_NUMBER
для имитации и входящего вызова.
Я пытаюсь отклонить этот вызов следующим образом:
device.press('KEYCODE_ENDCALL', 'DOWN_AND_UP')
Но он ничего не делает... Что я делаю неправильно?
Если вы используете
gsm call SOME_NUMBER
для начала вызова. вы можете использовать
gsm cancel SOME_NUMBER
отклонить вызов или
gsm accept SOME_NUMBER
принять его.
Насколько я могу судить, нет надежного способа завершить вызовы с помощью MonkeyRunner. Я не знаю, почему это так.
Вопрос здесь предлагает некоторые решения.
Вы также можете попробовать:
device.press('KEYCODE_HEADSETHOOK', 'DOWN_AND_UP')
Использование кодов клавиш для гарнитуры для меня работало на некоторых устройствах, но не на других.
Самый надежный метод, который я нашел для завершения вызовов с помощью MonkeyRunner, - это использовать кнопку меню. Об этом говорится в ответах на вопрос, который я связал выше.