设置唤醒锁定

您可以设置唤醒锁定,以暂时让设备保持唤醒状态。

依赖项

您的应用必须具有 WAKE_LOCK 权限才能设置唤醒锁定。将权限添加到应用的清单中:

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

创建并获取唤醒锁

如需获取唤醒锁,请执行以下操作:

  1. 调用 PowerManager.newWakeLock() 以创建唤醒锁。这会创建并配置 PowerManager.WakeLock 对象,但实际上不会让设备保持唤醒状态。

  2. 当您想让设备保持唤醒状态时,请调用唤醒锁定对象的 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();

此代码的要点

当代码创建唤醒锁定对象时,它会将类的名称用作唤醒锁定标记的一部分。我们建议您在唤醒锁定标记中包含软件包、类或方法名称。这样,如果发生错误,您就可以更轻松地在源代码中找到唤醒锁。如需了解详情,请参阅正确命名唤醒锁

另请参阅