2013-04-13 40 views
2

我想知道如何从服务中永久保持屏幕。这里是代码的情况: 用户将电话插入电源插座, 广播接收器获取事件,启动防止屏幕超时的服务。 用户拔掉电话,服务中断,超时恢复。从服务中保持屏幕

我想用wakelocks,但所需要的水平在API 13弃用:

INT SCREEN_BRIGHT_WAKE_LOCK这个常量是在API层面弃用 13.大多数应用程序使用,而不是这种类型的唤醒FLAG_KEEP_SCREEN_ON锁定,因为它将被平台正确管理为 用户在应用程序之间移动并且不需要特殊的 权限。

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

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

另外,我无法使用

任何想法,我的应用程序无法获取任何系统权限,所以,只要需要DEVICE_POWER许可? 感谢任何见解, 阿米什

+0

不要忘记接受答案或回答自己的问题,以后再接受它。 –

回答

1

弃用并不意味着你不能用它在版本大于13 如果你需要的最低版本让我们说8(未证实),你别无选择。唤醒锁仍然可用于api级别17.

+0

哦,不知道。那么我会尝试一下wakelock。谢谢 –

+0

好。当你完成时,让我知道。 –