Impostare un blocco di attivazione

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:

  1. Chiama PowerManager.newWakeLock() per creare un blocco di attivazione. Viene creato e configurato un oggetto PowerManager.WakeLock, ma il dispositivo non viene effettivamente mantenuto attivo.

  2. 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.

Vedi anche