Как определить, отображается ли экранная клавиатура на экране - при использовании monkeyrunner
Я пытаюсь автоматизировать несколько нажатий на экран и записи с помощью monkeyrunner (с помощью AndroidViewClient)
Всякий раз, когда на экране есть текст редактирования, выскакивает программная клавиатура, и если я хочу нажать кнопку, хотя findViewById (при условии, что эта конкретная кнопка находится за программной клавиатурой) не работает. Вместо того, чтобы нажимать эту кнопку, она нажимает какую-то кнопку на программной клавиатуре. Так что как обходной путь мне нужно нажать клавишу возврата через бегун обезьян, чтобы скрыть программную клавиатуру.
Мой вопрос заключается в том, как определить, отображается ли программная клавиатура на экране или нет при запуске из monkeyrunner.
Когда я посмотрел на LogCat, я вижу следующее при отображении программной клавиатуры
I/SurfaceFlinger( 2045): id=143(28) createSurf 0x4326743c (720x593),1 flag=0, InputMethod
и отображает это, пока программная клавиша удалена
I/SurfaceFlinger( 2045): id=142 Removed InputMethod idx=4 MapSz=3
I/SurfaceFlinger( 2045): id=142 Removed InputMethod idx=-2 MapSz=3
Если кто-то может предоставить пример того, как проанализировать вывод adb logcat из скрипта monkeyrunner, я могу использовать его в качестве последнего варианта, если найдется какое-либо подходящее альтернативное решение.