18 Stimmen

Bildschirm am Gerät einschalten

Wie kann ich den Bildschirm einschalten?

Ich habe Folgendes versucht

adb -d  shell am broadcast -a android.intent.action.SCREEN_ON

Es sollte eigentlich funktionieren, ich sende eine Sendung, sie wird vom System empfangen, aber der Bildschirm schaltet sich nicht ein.

Ich verstehe nicht, was das Problem ist, ist es möglich, den Bildschirm des Geräts durch Code zu drehen? Ich meine mit Software? Denn es scheint, wie das Einschalten des Bildschirms nur durch die Hardware-Taste drücken getan wird zumindest habe ich dieses Gefühl, bin ich falsch?

1 Stimmen

Das sieht aus wie ein Duplikat von diesem hier, wenn ich mich nicht irre: stackoverflow.com/questions/2891337/

0 Stimmen

Nur als Hinweis: Wenn Sie adb shell am start -n packagename/activityname um eine App über adb zu starten, wird der Bildschirm automatisch eingeschaltet, wenn er gerade ausgeschaltet ist (Getestet auf Android 5.0 mit einer Unity3d-App)

0 Stimmen

Prüfen Sie diese Antwort: stackoverflow.com/a/49650552/3806413

33voto

Grayson Henry Punkte 814
adb shell input keyevent KEYCODE_POWER

Funktioniert zum Einschalten des Bildschirms (wenn das Display ausgeschaltet ist) Funktioniert, um den Bildschirm auszuschalten (wenn das Display eingeschaltet/aufgeweckt ist)

0 Stimmen

Hallo, mit dem Ausschalten/Einschalten funktioniert es auf einem Gerät (Android kitkat), aber nicht auf einem anderen (wear marshmellow)

1 Stimmen

Funktioniert bei mir sowohl auf Marshmallow (6.0) als auch auf Jellybean (4.2.2).

0 Stimmen

Funktioniert unter Android 9.

24voto

Mir-Ismaili Punkte 10534

Für Android 5.0 und höher:

adb shell input keyevent KEYCODE_WAKEUP

o

adb shell input keyevent 224
KEYCODE_WAKEUP

Tastenkonstante: Aufwecktaste. Weckt das Gerät auf. Verhält sich ähnlich wie KEYCODE_POWER aber es hat keine Wirkung, wenn das Gerät bereits wach ist.

https://developer.Android.com/reference/Android/view/KeyEvent#KEYCODE_WAKEUP


_Nota: KEYCODE_POWER wurde in der API-Stufe 1 hinzugefügt, während KEYCODE_WAKEUP wurde in API Level 20 hinzugefügt!_

14voto

k1ll3r8e Punkte 659

Sie können es ein- und ausschalten, wenn Sie möchten:

adb shell
@shell: input keyevent 26
@shell: (enter or via hidden command empty line)
@shell: exit

das hat bei mir auf einigen Android-Versionen funktioniert ;)
(HINWEIS: Dies schaltet den Bildschirm ein und aus, abhängig vom aktuellen Zustand des Bildschirms)

Um den aktuellen Zustand des Bildschirms zu ermitteln, können Sie folgende Möglichkeiten nutzen:
Android < 5.x.x
adb shell dumpsys input_method
Suchen Sie in der Ausgabe nach mScreenOn=true/false

Android >= 5.x.x
adb shell dumpsys display
Suchen Sie in der Ausgabe nach mScreenState=ON/OFF

In meinen Skripten verwende ich Folgendes \s{0,}mScreen(State|On)=(?<STATE>(true|false|on|off))\s{0,} (Compiled|IgnoreCase|ExplicitCapture) regulärer Ausdruck für beide Ausgänge, um den aktuellen Zustand zu erkennen.

EDIT (16.03.2018):

Es gibt auch eine andere Möglichkeit, den Bildschirmstatus zu erkennen, die seit Android 3.0 funktioniert. Die dumpsys window policy Befehl wird uns alles geben, was wir brauchen. - Suchen Sie in der Ausgabe nach mScreenOn(Fully)?=(?<STATE>(true|false)) . Es gibt auch andere nützliche Informationen wie:

  • mUnrestrictedScreen (Wert ist wie: (0,0) 768x1280 )
  • mRestrictedScreen (Wert ist wie: (0,0) 768x1184 )

Herzliche Grüße,

k1ll3r8e

6voto

Gallal Punkte 4250

Ich könnte mich irren, aber...

Sie sollten Sendungen nicht als etwas betrachten, das man senden, um Dinge zu erledigen sondern sehen sie als Dinge an, die gesendet, wenn die Dinge erledigt sind .

Ich glaube, das System sendet "Android.intent.action.SCREEN_ON", wenn der Bildschirm eingeschaltet wird, aber das Senden von "Android.intent.action.SCREEN_ON" führt nicht unbedingt dazu, dass der Bildschirm eingeschaltet wird.

Ich hoffe, das macht Sinn.

Die Antwort finden Sie in...

2voto

AggieBlue Punkte 454

Der Befehl zum Ein- und Ausschalten des Bildschirms lautet:

adb shell input keyevent 26

Dieser verkürzte Befehl wird bevorzugt, da er sich in Skripten verwenden lässt.

Zum Wohl!

1 Stimmen

Umschalten ist nicht gleich "einschalten", beim Einschalten muss berücksichtigt werden, ob das Display bereits eingeschaltet ist oder nicht, sonst kann es ausgeschaltet werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X