Wakelock einrichten

Sie können eine Aktivierungssperre festlegen, damit das Gerät vorübergehend aktiv bleibt.

Abhängigkeiten

Ihre App muss die Berechtigung WAKE_LOCK haben, um eine Aktivierungssperre festzulegen. Fügen Sie die Berechtigung dem Manifest Ihrer App hinzu:

<uses-permission android:name="android.permission.WAKE_LOCK" />

Wakelock erstellen und erwerben

So fordern Sie einen Wakelock an:

  1. Rufen Sie PowerManager.newWakeLock() auf, um eine Wakelock zu erstellen. Dadurch wird ein PowerManager.WakeLock-Objekt erstellt und konfiguriert, das Gerät bleibt jedoch nicht aktiv.

  2. Wenn Sie das Gerät eingeschaltet lassen möchten, rufen Sie die Methode acquire() des Wakelock-Objekts auf.

Wenn Ihre App beispielsweise einen Broadcast-Empfänger enthält, der einen Dienst für eine bestimmte Aufgabe verwendet, können Sie mit diesem Code eine Wakelock festlegen und erwerben:

Kotlin

val wakeLock: PowerManager.WakeLock =
    (getSystemService(Context.POWER_SERVICE) as PowerManager).run {
        newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyClassName::MyWakelockTag").apply {
            acquire()
        }
    }

Java

PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
        "MyClassName::MyWakelockTag");
wakeLock.acquire();

Wichtige Punkte zu diesem Code

Wenn der Code das Wakelock-Objekt erstellt, wird der Name der Klasse als Teil des Wakelock-Tags verwendet. Wir empfehlen, den Namen Ihres Pakets, Ihrer Klasse oder Ihrer Methode als Teil des Wakelock-Tags anzugeben. So lässt sich bei einem Fehler die Wakelock im Quellcode leichter finden. Weitere Informationen finden Sie unter Wakelock richtig benennen.

Siehe auch