Cómo configurar y administrar bloqueos de activación

Si necesitas mantener un dispositivo en ejecución para completar algunas tareas antes de que entre en el estado de suspensión, puedes usar una función de servicio del sistema de PowerManager llamada bloqueos de activación. Los bloqueos de activación permiten que tu app controle el estado de energía del dispositivo.

Cómo establecer un bloqueo de activación

Para usar un bloqueo de activación, el primer paso es agregar el permiso WAKE_LOCK al archivo de manifiesto de tu app:

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

Si tu app incluye un receptor de emisión que usa un servicio para realizar algunas tareas, aquí te mostramos cómo configurar un bloqueo de activación directamente:

Kotlin

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

Java

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

Cómo liberar un bloqueo de activación

Para liberar el bloqueo de activación, llama a wakelock.release(). De esta manera, se libera tu solicitud de uso de la CPU. Es importante liberar un bloqueo de activación tan pronto como la app termine de usarlo para evitar que se agote la batería.

Consulta también