您可以设置唤醒锁定,以暂时让设备保持唤醒状态。
依赖项
您的应用必须具有 WAKE_LOCK
权限才能设置唤醒锁定。将权限添加到应用的清单中:
<uses-permission android:name="android.permission.WAKE_LOCK" />
创建并获取唤醒锁
如需获取唤醒锁,请执行以下操作:
调用
PowerManager.newWakeLock()
以创建唤醒锁。这会创建并配置PowerManager.WakeLock
对象,但实际上不会让设备保持唤醒状态。当您想让设备保持唤醒状态时,请调用唤醒锁定对象的
acquire()
方法。
例如,如果您的应用包含使用服务来完成相关工作的广播接收器,您可以使用以下代码设置和获取唤醒锁定:
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();
此代码的要点
当代码创建唤醒锁定对象时,它会将类的名称用作唤醒锁定标记的一部分。我们建议您在唤醒锁定标记中包含软件包、类或方法名称。这样,如果发生错误,您就可以更轻松地在源代码中找到唤醒锁。如需了解详情,请参阅正确命名唤醒锁。