4

我想知道如何从服务中永久保持屏幕开启。这是代码的场景:用户将手机插入电源插座,广播接收器获取事件,启动防止屏幕超时的服务。用户拔下电话,服务被终止并恢复超时。

我想使用唤醒锁,但所需的级别在 API 13 中已弃用:

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

FLAG_KEEP_SCREEN_ON不能从我读过的服务中使用。

我不想修改屏幕超时数,因为如果我的服务被破坏或应用程序被卸载,我不希望超时停留在一个很高的数字。

此外,我的应用程序无法获得任何系统权限,因此任何需要DEVICE_POWER权限的东西,我都无法使用

任何想法?感谢您的任何见解,阿米什

4

1 回答 1

1

不推荐使用并不意味着您不能将其用于大于 13 的版本。如果您的最低要求版本是 8(未确认),那么您别无选择。唤醒锁在 api 级别 17 中仍然可用。

于 2013-04-13T22:04:16.480 回答