Zuvor mit Android 4.1, so etwas wie:
adb shell input keyevent 82
#(KEYCODE_MENU)
würde den Bildschirm beim ersten Booten entsperren und dann weitere Befehle zulassen, um Anwendungen zu starten und auf dem Bildschirm anzuzeigen usw.
Mit 4.2 wird der Sperrbildschirm innerhalb von 10 Sekunden nach dem Start schwarz. Das Ausgeben desselben ADB-Befehls funktioniert nicht mehr und der Bildschirm bleibt leer.
Wenn ich die Menütaste manuell drücke, wird der Bildschirm wieder eingeschaltet, und ich kann dann das Tastenereignis zum Entsperren des Bildschirms ausgeben.
Irgendwelche Ideen, wie ich die Anzeige von ADB wiederherstellen und den Bildschirm von dort aus entsperren kann?
Vielen Dank
Wenn Sie auf 4.2.2 sind, möchten Sie vielleicht zB ADB Whitelist lesen Ab Android 4.2.2 : Ab dieser Android-Version müssen "Remote-Geräte" (dh diejenigen, von denen Sie ADB-Befehle ausführen ) vom Android-Gerät autorisiert werden (dh derjenige, auf dem diese Befehle ausgeführt werden ) - damit Ihr Android-Gerät "vertrauenswürdige Anrufer" von "böswilligen Angreifern" unterscheiden kann. Sie finden dies auch ausführlich in diesem Artikel auf AndroidPolice :
Die Funktionsweise ist ziemlich einfach: Wenn Sie Ihren PC über USB mit Ihrem Android-Gerät verbinden, erhält Android den RSA-Schlüssel Ihres PCs (ein Identifizierungstoken). Wenn Sie in Android 4.2.2 das USB-Debugging aktiviert haben, wird jetzt bei der Verbindung eine Eingabeaufforderung angezeigt (siehe unten).
(Bildquelle: AndroidPolice )
Update aus den Kommentaren unten:
Wie Shuraneadb keyevent
betonte, scheint sich das Verhalten von außerdem mit Android 4.2.2 geändert zu haben: Während adb keyevent 26
es zuvor einen dedizierten „Bildschirm aus“- und adb shell input keyevent 82
einen dedizierten „Bildschirm ein“-Schalter gab, gibt es jetzt adb keyevent 26
einen Schalter , der den Bildschirm ausschaltet ( wenn es an ist) und an (wenn es aus ist), wie von Pepelac bemerkt .
adb whitelisting
funktioniert das Senden eines Keyevents in 4.2.2 nicht auf die gleiche Weise.adb shell input keyevent 26
schaltet den Bildschirm aus und adb shell input keyevent 82
wieder ein, richtig? Aber für 4.2.2 keyevent 26
scheint es nur zu funktionieren. keyevent 82
funktioniert nicht warum auch immer.adb shell input keyevent 26
schaltet es aus / einDer Trick ist, dass Sie in 4.4.x und/oder anderen Systemen eine Enternach dem Befehl senden müssen, oder Sie müssen x Sekunden/Minute warten.
Also mach es so:
adb shell
@shell: input keyevent 26
@shell:
@shell: exit
Das wird auf jeden Fall funktionieren, denke ich.
Stellen Sie das Gerät in den Sicherheitseinstellungen auf den Modus „Keine Sperre“ (Sperreinstellungen in einigen Android-Versionen), damit das Betriebssystem nach dem Neustart direkt zum Startbildschirm wechselt.
Sie können dann ein beliebiges Schlüsselereignis senden, am besten ein nicht erkanntes, damit es nicht vom Standardhandler verarbeitet wird, um den Bildschirm aufzuwecken.
EDIT: Das funktioniert gut auf 4.1. Ich habe 4.4 überprüft und andere Ereignisse als 26 funktionieren nicht, wenn der Bildschirm ausgeschaltet ist. Dies liegt vermutlich daran, dass jetzt ein weiteres separates Gerät für den Netzschalter definiert ist und die anderen möglicherweise inaktiv sind. Sie müssen also überprüfen, ob der Bildschirm ausgeschaltet ist (dumpsys power, suchen Sie nach mScreenOn) und wenn ausgeschaltet, 26 senden. Sie müssen die Überprüfung durchführen, um zu verhindern, dass er ausgeschaltet wird, während er eingeschaltet ist. Dies funktioniert auf allen Android-Versionen.
Wilf