如果您需要使设备保持运行状态,以便在设备进入暂停状态之前完成某项工作,可以使用一项称为“唤醒锁定”的 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 的声明。请务必在应用结束对唤醒锁定的使用后立即将其释放,以避免消耗电池电量。