保持屏幕上的服务

时间:2013-04-13 20:35:23

标签: android service timeout screen wakelock

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

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

  

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

FLAG_KEEP_SCREEN_ON无法从我所阅读的服务中使用。

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

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

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

1 个答案:

答案 0 :(得分:1)

已弃用并不意味着您不能将用于大于13的版本。 如果您是最低要求版本,请说8(未确认),您没有其他选择。唤醒锁仍然可以在api级别17中使用。