如何分析锁屏没有显示出来的的问题

灭屏后亮屏没有看到锁屏可参考如下方法分析。(mtk 文档上面总结的方法)
 
google默认设计:
(1)timeout灭屏(手机休眠时间到)时,不会立即锁屏,默认会等待5s才会上锁,5s内亮屏是不会看到有锁屏的。
(2)按电源键灭屏时, 如果没有勾选“按电源键立即锁屏”菜单,默认也会等待5s才上锁,5s内亮屏不会看到锁屏。
(3)keyguard被三方app disable掉了,所以灭屏不会上锁,亮屏不会看到锁屏。可从如下log中mExternallyEnabled的值为false表示keyguard是被三方app disable掉了。

 一般就是上面3种原因.
11-27 08:49:43.505  1196  3408 D KeyguardViewMediator: doKeyguard : 
externally disabled reason..mExternallyEnabled = false
 
对于第三种原因引起的灭屏后亮屏没有看到锁屏,建议贵司接受这种设计,三方app是使用了KeyguardManager.java中提供的disableKeyguard()方法将锁屏disable掉了,这个接口目前google已不建议使用了。
如果坚持想要修改成三方app disable后不生效,可以参考下面两种方法:
(1)将KeyguardManager.java中disableKeyguard()和reenablekeyguard()方法直接return.(由于这是google提供的接口,所以不建议使用)
(2)将KeyguardViewMediator.java中使用到mExternallyEnabled这个变量的地方都把它的值当true使用。

其中关于第3种原因的具体调用流程:
KeyguardManager.disableKeyguard() -> WindowManagerService.disableKeyguard() ->  KeyguardDisableHandler$KeyguardTokenWatcher.acquired()->
PhoneWindowManager.enableKeyguard()-> KeyguardServiceDelegate.setKeyguardEnabled()->
KeyguardServiceWrapper.setKeyguardEnabled()->KeyguardService.setKeyguardEnabled() ->
KeyguardViewMediator.setKeyguardEnabled()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值