Sie können ein Wake Lock festlegen, um das Gerät vorübergehend aktiv zu halten.
Abhängigkeiten
Ihre App muss die Berechtigung WAKE_LOCK
haben, um einen Wake Lock festzulegen.
Fügen Sie die Berechtigung dem Manifest Ihrer App hinzu:
<uses-permission android:name="android.permission.WAKE_LOCK" />
Wake Lock erstellen und abrufen
So erhalten Sie einen Wake Lock:
Rufen Sie
PowerManager.newWakeLock()
auf, um eine Wake Lock zu erstellen. Dadurch wird einPowerManager.WakeLock
-Objekt erstellt und konfiguriert, das Gerät wird aber nicht tatsächlich im aktiven Zustand gehalten.Wenn Sie das Gerät aktiv halten möchten, rufen Sie die Methode
acquire()
des Wake Lock-Objekts auf.
Wenn Ihre App beispielsweise einen Broadcast-Receiver enthält, der einen Dienst verwendet, um bestimmte Aufgaben auszuführen, können Sie mit diesem Code ein Wake Lock festlegen und abrufen:
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); PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyClassName::MyWakelockTag"); wakeLock.acquire();
Wichtige Punkte zu diesem Code
Wenn der Code das Wake-Lock-Objekt erstellt, wird der Name der Klasse als Teil des Wake-Lock-Tags verwendet. Wir empfehlen, den Paket-, Klassen- oder Methodennamen als Teil des Wake-Lock-Tags anzugeben. So lässt sich das Wake Lock im Quellcode leichter finden, wenn ein Fehler auftritt. Weitere Informationen finden Sie unter Wake Lock richtig benennen.