先给大家看段对码: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解除。
推荐整理分享屏蔽系统锁屏的正确方法,亲测有效!(怎样屏蔽锁屏广告),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:屏蔽解锁,屏蔽解锁,防止锁屏,屏蔽系统锁屏的方法,屏蔽系统锁屏的软件,屏蔽系统锁屏的原理,屏蔽系统锁屏的软件,屏蔽系统锁屏的方法,内容如对您有帮助,希望把文章链接给更多的朋友!
版权声明:本文为博主原创文章,未经博主允许不得转载。
Android 色值 我们经常在开发中使用的例如#FF色,那么具体这个数是什么意思呢?这个数如果有8位,每2位代表ARGB中的一个分量;这个数有6位的话,每2位代表RGB
Android最全的资源文件(官方翻译) 水平有限,图中的中文翻译仅供参考官网提供了很多资源,可以在values包下建立相应的分类文件使用附:官网地址版权声明:本文为博主原创文章,未
android 在线升级借助开源中国App源码