Android解锁屏幕失效问题
2017-03-08 15:14
218 查看
最近在做一个App时需要自动点亮并解锁系统屏幕,但是发现屏幕点亮后屏幕并没有解锁,还需要手动划一下。
看段代码:
做过系统锁屏服务程序的童鞋对这段代码应该不会陌生了,他的作用就是关闭系统自带的锁屏服务。
现在的问题是在自己定制好锁屏服务后,加载apk、开启服务,然后按home键后再锁屏时,是不是出现bug,发现disableKeyguard失效,仍出现系统的锁屏。
现在对disableKeyguard方法进行分析:
在api中disableKeyguard()的介绍是
disableKeyguard():Disable the keyguard from showing.
需要权限android.permission.DISABLE_KEYGUARD
很多文档中对这个方法的补充介绍和翻译都是“通过disableKeyguard()函数来解除锁屏,通过来reenableKeyguard()反解除锁屏.reenableKeyguard()反解除锁屏的意思是:如果在调用disableKeyguard()函数之前是锁屏的,那么就进行锁屏,否则不进行任何操作。当然如果之前没调用disableKeyguard()函数,也不进行任何操作。”
后来又看了很多发布了源码的锁屏程序都出现在上面所说的home键问题,然自己对代码进行反复修改调试终于找出原因所在。网上的程序都是在服务中的接收屏幕打开或关闭的广播接收器里调用disableKeyguard方法,即每次接收到屏幕打开或关闭广播时调用disableKeyguard方法,把disableKeyguard方法当作关闭此次系统锁屏使用,而实际上disableKeyguard方法的作用是关闭掉了系统锁屏服务,只需要调用一次就行了,调用多次反而出现问题(还会造成关于关闭定制锁屏、恢复系统锁屏服务功能的bug)。
最终我的解决办法是
调用完disableKeyguard方法关闭系统锁屏服务后, 再适当的时候(即恢复系统锁屏服务时)调用reenableKeyguard方法,让他们成对调用,bug解除, 记住,要成对调用!!!
PS:转载自http://www.eoeandroid.com/thread-177610-1-1.html
看段代码:
mKeyguard = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE); mKeylock = mKeyguard.newKeyguardLock(""); mKeylock.disableKeyguard();
做过系统锁屏服务程序的童鞋对这段代码应该不会陌生了,他的作用就是关闭系统自带的锁屏服务。
现在的问题是在自己定制好锁屏服务后,加载apk、开启服务,然后按home键后再锁屏时,是不是出现bug,发现disableKeyguard失效,仍出现系统的锁屏。
现在对disableKeyguard方法进行分析:
在api中disableKeyguard()的介绍是
disableKeyguard():Disable the keyguard from showing.
需要权限android.permission.DISABLE_KEYGUARD
很多文档中对这个方法的补充介绍和翻译都是“通过disableKeyguard()函数来解除锁屏,通过来reenableKeyguard()反解除锁屏.reenableKeyguard()反解除锁屏的意思是:如果在调用disableKeyguard()函数之前是锁屏的,那么就进行锁屏,否则不进行任何操作。当然如果之前没调用disableKeyguard()函数,也不进行任何操作。”
后来又看了很多发布了源码的锁屏程序都出现在上面所说的home键问题,然自己对代码进行反复修改调试终于找出原因所在。网上的程序都是在服务中的接收屏幕打开或关闭的广播接收器里调用disableKeyguard方法,即每次接收到屏幕打开或关闭广播时调用disableKeyguard方法,把disableKeyguard方法当作关闭此次系统锁屏使用,而实际上disableKeyguard方法的作用是关闭掉了系统锁屏服务,只需要调用一次就行了,调用多次反而出现问题(还会造成关于关闭定制锁屏、恢复系统锁屏服务功能的bug)。
最终我的解决办法是
调用完disableKeyguard方法关闭系统锁屏服务后, 再适当的时候(即恢复系统锁屏服务时)调用reenableKeyguard方法,让他们成对调用,bug解除, 记住,要成对调用!!!
PS:转载自http://www.eoeandroid.com/thread-177610-1-1.html
相关文章推荐
- android 唤醒屏幕,解锁以及部分机型点亮屏幕却没有解锁的问题
- android 多屏幕的支持问题
- 关于Android屏幕解锁与持续开亮
- Android 屏幕分辩率相关问题
- Google解决Android屏幕尺寸问题
- Android屏幕解锁和点亮
- Android设备屏幕问题
- android 屏幕适配问题
- android 屏幕适配问题
- android游戏开发适应多屏幕的问题
- android 屏幕适配问题
- Android使用ActivityGroup设置android:windowSoftInputMode失效的问题
- android 点亮屏幕与解锁
- Android startService 启动自动解锁点亮屏幕
- Android开发之--关于获取屏幕宽度和高度的问题
- android 屏幕自适应问题
- android 亮屏及屏幕解锁代码
- android 屏幕适配问题
- android 屏幕适配问题
- 不惧分裂 Google解决Android屏幕尺寸问题