在Android系统上使用FLAG_KEEP_SCREEN_ON

时间:2017-07-09 11:41:49

标签: android powermanager android-powermanager

我的应用的目标是在整个Android系统上保持屏幕显示。以前,我已经使用了FULL_WAKE_LOCK,它允许我阻止整个系统的屏幕变暗。但是,自API级别17以来,它已被弃用:

  

此常量在API级别17中已弃用。大多数应用程序都应该这样做   使用FLAG_KEEP_SCREEN_ON而不是这种类型的唤醒锁定   当用户在两者之间移动时,由平台正确管理   申请并不需要特别许可。

Official documentation recommends使用FLAG_KEEP_SCREEN_ON,但只能将其用于特定Activity

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

1 个答案:

答案 0 :(得分:0)

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

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

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