2013-09-08 14 views
7

Ich versuche, meinen Bildschirm programmatisch auszuschalten.In Android, wie kann ich den Bildschirm programmatisch ausschalten?

Die folgenden Methoden ich versucht habe:

WindowManager.LayoutParams params = getWindow().getAttributes(); 
params.screenBrightness = 0; 
getWindow().setAttributes(params); 

Das bisherige erwähnte Verfahren funktioniert nicht.

Dies funktioniert jedoch:

DevicePolicyManager mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE); 

mDPM.lockNow(); 

Dies funktioniert, aber ich bin Drehen meines Bildschirm ausgeschaltet, während das Telefon klingelt, und dies bewirkt, dass die Klingel zu stoppen. Das Gleiche als wenn Sie den Netzschalter drücken.

Nun, ich muss in der Lage sein, meine Anzeige auszuschalten, ohne die DevicePolicyManager-Methode zu verwenden. Oder eine Möglichkeit, die DevicePolicyManager-Methode so einzurichten, dass das Gerät nicht klingelt.

Vielen Dank!

Antwort

1

ist es besser, die Bildschirmzeit zu verringern, um den Bildschirm auszuschalten. wie folgt aus:

Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, 10); 

10 bedeutet 10 ms Sie Ihre eigenen einstellen können!

+0

Das funktioniert nicht so, als ob eine Wake-Sperre aktiv ist, dann wird es nie auslaufen. Die "DevicePolicyManager" -Methode, die ich oben erwähnt habe, ist der richtige Weg, um eine Anzeige auszuschalten, funktioniert einfach nicht perfekt in meiner Situation. – Seth

+0

aber sein funktioniert nicht für jedes Gerät. in meiner Idee ist der beste Weg [hier] (http://rdcworld-android.blogspot.in/2012/03/lock-phone-screen-programmtically.html) – M410

+0

Dieser Link, den du gepostet hast, ist genau das, was ich gerade gesagt habe .. Ich verstehe nicht was du versuchst zu sagen? Solange Ihr Gerät 2.2 (API 8) oder neuer ist, können Sie 'DevicePolicyManager' und' mDPM.lockNow() 'verwenden, um Ihren Bildschirm auszuschalten. – Seth

Verwandte Themen