Como determinar se o softkey é mostrado na tela - enquanto usa o monkeyrunner

Eu estou tentando automatizar alguns cliques de tela e entradas usando monkeyrunner (usando AndroidViewClient)

Sempre que há um texto editável na tela, o teclado virtual está aparecendo, e se eu quiser pressionar um botão embora findViewById, (supondo que esse botão específico esteja atrás do teclado virtual) falhe. Em vez de clicar nesse botão, ele clica em algum botão no teclado virtual. Então, como um trabalho ao redor, eu preciso pressionar de volta a tecla pelo corredor de macacos, para esconder o teclado macio.

Minha pergunta é como determinar se o teclado virtual é exibido na tela ou não durante a execução do monkeyrunner.

Quando eu olhei para o logcat, vejo isso seguindo enquanto aparece o teclado virtual

I/SurfaceFlinger( 2045): id=143(28) createSurf 0x4326743c (720x593),1 flag=0, InputMethod

e mostra isso enquanto o softkeyboard é removido

I/SurfaceFlinger( 2045): id=142 Removed InputMethod idx=4 MapSz=3
I/SurfaceFlinger( 2045): id=142 Removed InputMethod idx=-2 MapSz=3

Se alguém puder fornecer um exemplo de como analisar a saída adb logcat do script monkeyrunner, posso usá-la como última opção, se houver alguma solução alternativa adequada encontrada.

questionAnswers(4)

yourAnswerToTheQuestion