Puoi impostare un blocco sveglia per mantenere temporaneamente attivo il dispositivo.
Dipendenze
L'app deve disporre dell'autorizzazione WAKE_LOCK
per impostare un blocco di attivazione.
Aggiungi l'autorizzazione al file manifest della tua app:
<uses-permission android:name="android.permission.WAKE_LOCK" />
Creare e acquisire un blocco di attivazione
Per acquisire un blocco di attivazione:
Chiama
PowerManager.newWakeLock()
per creare un blocco di attivazione. Viene creato e configurato un oggettoPowerManager.WakeLock
, ma il dispositivo non viene effettivamente mantenuto attivo.Quando vuoi mantenere il dispositivo attivo, chiama il metodo
acquire()
dell'oggetto blocco attivazione.
Ad esempio, se la tua app include un'attività di ricezione di annunci che utilizza un servizio per svolgere un'attività, puoi utilizzare questo codice per impostare e acquisire un blocco di attivazione:
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();
Punti chiave di questo codice
Quando il codice crea l'oggetto blocco attivazione, utilizza il nome della classe come parte del tag blocco attivazione. Ti consigliamo di includere il nome del pacchetto, della classe o del metodo nel tag blocco attivazione. In questo modo, se si verifica un errore, è più facile individuare il blocco di attivazione nel codice sorgente. Per ulteriori informazioni, consulta Assegnare un nome corretto al blocco risveglio.