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:
Rufen Sie
PowerManager.newWakeLock()
auf, um eine Wakelock zu erstellen. Dadurch wird einPowerManager.WakeLock
-Objekt erstellt und konfiguriert, das Gerät bleibt jedoch nicht aktiv.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.