78 Stimmen

Bildschirm einschalten deaktivieren

Ich benutzte:

getWindow().addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

Wie kann ich zum Standardzustand zurückkehren (kein Weiterschalten)?

159voto

Noel Punkte 7130

Ich denke, das sollte genügen:

getWindow().clearFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

Véase API für Einzelheiten.

20voto

Alexander Abramov Punkte 1370

Wenn Sie stattdessen ein Flag Android:keepScreenOn="true" setzen ( Dokumentation ) nur bei den Ansichten, bei denen der Bildschirm eingeschaltet bleiben muss, müssten Sie das Kennzeichen nicht manuell zurücksetzen.

4voto

Zar E Ahmer Punkte 32557

Ein anderer Ansatz

getWindow().setFlags(this.getWindow().getFlags() & ~WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

Lesen Sie auch dies

und Sie können auch android:keepScreenOn="true" in der Wurzelansicht in xml.

0voto

NazarYavornytskyy Punkte 329

Unmittelbar aus der Dokumentation:

Hinweis: Sie brauchen das Flag FLAG_KEEP_SCREEN_ON nur dann zu löschen, wenn Sie nicht möchten, dass der Bildschirm in Ihrer laufenden Anwendung eingeschaltet bleibt (z. B. wenn Sie möchten, dass der Bildschirm nach einer bestimmten Zeit der Inaktivität abschaltet). Der Fenstermanager sorgt dafür, dass die richtigen Dinge passieren, wenn die Anwendung in den Hintergrund geht oder in den Vordergrund zurückkehrt. Wenn Sie jedoch das Flag explizit löschen und damit das Ausschalten des Bildschirms wieder ermöglichen wollen, verwenden Sie clearFlags(): getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON).

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