Как определить, отображается ли экранная клавиатура на экране - при использовании 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, я могу использовать его в качестве последнего варианта, если найдется какое-либо подходящее альтернативное решение.

Ответы на вопрос(4)

Ваш ответ на вопрос