Wie kann ich den Bildschirm einschalten?
Ich habe so etwas versucht
%Vor%Es sollte wirklich funktionieren, ich sende Broadcast Intent es 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, als ob das Einschalten des Bildschirms nur durch Drücken der Hardware-Taste erfolgt. . . zumindest habe ich diese Fällung, bin ich falsch?
Ich könnte mich deswegen irren, aber ...
Sie sollten Broadcasts nicht als etwas betrachten, das gesendet werden soll, um Dinge zu erledigen , sondern stattdessen als Dinge, die gesendet werden, wenn die Dinge erledigt sind . p>
Ich denke, das System sendet 'android.intent.action.SCREEN_ON', wenn der Bildschirm eingeschaltet wird, aber das Senden von 'android.intent.action.SCREEN_ON' bewirkt nicht unbedingt, dass der Bildschirm weiterläuft.
Ich hoffe, das macht Sinn.
Für die Antwort finden Sie es in ...
Funktioniert zum Einschalten des Bildschirms (wenn das Display ausgeschaltet ist) Funktioniert, um den Bildschirm auszuschalten (wenn das Display eingeschaltet / aktiv ist)
Sie können es ein- / ausschalten, wenn Sie möchten:
%Vor% dies funktionierte für mich auf einigen Android-Versionen;)
(Hinweis: Dies wird den Bildschirm ein- und ausschalten, hängt von der tatsächlichen Bildschirmzustand)
Um den aktuellen Status des Bildschirms zu erkennen, können Sie folgende Möglichkeiten nutzen:
Android & lt; 5.x.x
adb shell dumpsys input_method
In der Ausgabesuche nach mScreenOn=true/false
Android & gt; = 5.x.x
adb shell dumpsys display
In der Ausgabesuche nach mScreenState=ON/OFF
In meinen Skripten verwende ich den regulären Ausdruck \s{0,}mScreen(State|On)=(?<STATE>(true|false|on|off))\s{0,}
(Compiled | IgnoreCase | ExplicitCapture) für beide Ausgaben, um den aktuellen Zustand zu erkennen.
BEARBEITEN (16.03.2018):
Es gibt auch eine andere Möglichkeit, den Bildschirmzustand zu erkennen, er funktioniert seit Android 3.0. Der Befehl dumpsys window policy
gibt uns alles, was wir brauchen. - In der Ausgabesuche 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
) Grüße,
k1ll3r8e
Für Android 5.0 und höher:
%Vor%oder
%Vor%Referenz :
Weckt das Gerät auf. Benimmt sich etwas wie KEYCODE_POWER, hat aber keine Auswirkungen, wenn das Gerät bereits aktiv ist.
Hinweis: KEYCODE_POWER
wurde in API-Ebene 1 hinzugefügt, während KEYCODE_WAKEUP
in API-Ebene 20 hinzugefügt wurde!
Tags und Links android android-intent screen broadcast