设置和管理唤醒锁

如果您需要保持设备运行以在设备进入暂停状态之前完成某些工作,可以使用名为唤醒锁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 的请求。当您的应用完成使用唤醒锁后,务必立即释放它,以避免耗尽电池电量。

另请参阅