您可以设置唤醒锁定,以暂时保持设备处于唤醒状态。
依赖项
您的应用必须具有 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); PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyClassName::MyWakelockTag"); wakeLock.acquire();
此代码的相关要点
当代码创建唤醒锁定对象时,它会使用类的名称作为唤醒锁定标记的一部分。我们建议您在唤醒锁定标记中包含软件包、类或方法名称。这样,如果发生错误,您可以更轻松地在源代码中找到唤醒锁。如需了解详情,请参阅正确命名唤醒锁定。