1

我的应用程序的目标是在整个Android系统中保持屏幕开启。以前,我为此使用了 FULL_WAKE_LOCK,它允许我阻止整个系统的屏幕变暗。然而,从 API Level 17 开始,它就被弃用了:

此常量在 API 级别 17 中已弃用。大多数应用程序应使用 FLAG_KEEP_SCREEN_ON 而不是这种类型的唤醒锁,因为当用户在应用程序之间移动时它将由平台正确管理并且不需要特殊权限。

官方文档建议使用FLAG_KEEP_SCREEN_ON,但也可以仅将其用于特定的Activity.

我仍然会FULL_WAKE_LOCK,但是我发现它现在在某些设备上不起作用,例如 MediaPad Huawei x2、Redmi Note 3 等。我目前使用的PowerManager方式可以在 GitHub 上找到。之后有没有更好的方法来完成这项任务API level 17

4

1 回答 1

0

从 API 23 开始,其新的打盹模式唤醒锁将被忽略,它们不会阻止系统进入睡眠状态。

您应该尝试与唤醒锁并行维护前台服务,理论上这应该可以防止设备进入睡眠状态。

注意:前台服务必须调用 startForeground 并显示不可关闭的通知

于 2017-07-09T11:50:01.047 回答