So stellen Sie fest, ob das Softkeyboard auf dem Bildschirm angezeigt wird - während Sie monkeyrunner verwenden

Ich versuche einige Bildschirmklicks und Eingaben mit monkeyrunner zu automatisieren (mit AndroidViewClient)

Immer wenn ein Edittext auf dem Bildschirm angezeigt wird, wird die Softtastatur eingeblendet, und wenn ich über findViewById eine Taste drücken möchte (vorausgesetzt, diese bestimmte Taste befindet sich hinter der Softtastatur), schlägt dies fehl. Anstatt auf diese Schaltfläche zu klicken, klickt sie auf eine Schaltfläche in der Soft-Tastatur. Als Workaround muss ich also die Back-Taste durch den Monkey Runner drücken, um die Soft-Tastatur auszublenden.

Meine Frage ist, wie man feststellt, ob die Softtastatur auf dem Bildschirm angezeigt wird oder nicht, während man mit monkeyrunner läuft.

Wenn ich mir den logcat anschaue, sehe ich Folgendes, während die Softtastatur angezeigt wird

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

und zeigt dies an, während das Softkeyboard entfernt wird

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

Wenn jemand ein Beispiel für das Parsen der adb logcat-Ausgabe des monkeyrunner-Skripts liefern kann, kann ich dies als letzte Option verwenden, wenn eine geeignete alternative Lösung gefunden wird.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage