设置和管理唤醒锁定

如果您需要使设备保持运行状态,以便在设备进入暂停状态之前完成某项工作,可以使用一项称为“唤醒锁定”的 PowerManager 系统服务功能。唤醒锁定可使应用控制设备的电源状态。

设置唤醒锁定

如需使用唤醒锁定,首先要将 WAKE_LOCK 权限添加到应用的清单文件中:

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

如果您的应用包含使用服务来完成相关工作的广播接收器,您可以使用以下方法直接设置唤醒锁定:

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();

释放唤醒锁定

如需释放唤醒锁定,请调用 wakelock.release()。这样做会释放您对 CPU 的声明。请务必在应用结束对唤醒锁定的使用后立即将其释放,以避免消耗电池电量。

另请参阅