我正在Android Nexus 10平板电脑上构建应用程序,它将充当信息亭,因此我希望屏幕可以100%处于打开状态。我目前一直在使用“开发人员选项”>“保持唤醒状态”(充电时屏幕将一直休眠)。
根据本文档:glFinish
启用此设置后,它等同于WAKE_LOCK还是仅仅是FLAG_KEEP_SCREEN_ON?
谢谢!
答案 0 :(得分:0)
不,它比这更底层。 “保持唤醒”切换将一个值放入Settings.Global中,然后由PowerManagerService读取。该值是可以为手机充电的不同插头类型的组合(默认情况下,交换机使用AC,USB和无线)。
如果存储的值不是0
,并且设备已插入该值指定的插头类型之一,则PowerManagerService永远不会将设备设置为ASLEEP状态。
它类似于唤醒锁,但是它有自己的特殊过程。
StayAwakePreferenceController PowerManagerService
顺便说一句,FLAG_KEEP_SCREEN_ON实际上在幕后使用了唤醒锁。您只需要拥有WAKELOCK权限即可使用它。
对于信息亭类型的商品,您可能应该使用FLAG_KEEP_SCREEN_ON。此唤醒锁可防止屏幕变暗,而“保持唤醒”切换不会。