屏蔽系统锁屏的正确方法,亲测有效!
来源:互联网 发布:西安知行软件公司 编辑:程序博客网 时间:2024/05/18 00:17
先给大家看段对码:
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解除。
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解除。
0 0
- 屏蔽系统锁屏的正确方法,亲测有效!
- Android 屏蔽系统锁屏的方法
- @ResponseBody 不返回NULL的正确方法(亲测有效)
- 屏蔽系统热键的方法
- WinRAR 5.40 去除广告方法,屏蔽广告弹窗方法,亲测有效
- 探索 Docker bridge 的正确姿势,亲测有效!
- android屏蔽系统锁屏的办法
- 屏蔽系统热键的方法总结
- 屏蔽系统热键的方法总结
- 一种屏蔽所有系统热键的方法
- [转]屏蔽系统热键的方法总结
- 屏蔽系统热键的方法总结
- 屏蔽系统组合键的一些方法
- 屏蔽系统热键的方法总结
- 系统有效的测试管理方法 - TMap
- 系统有效的测试管理方法 - TMap
- 系统有效的测试管理方法 - TMap
- 系统有效的测试管理方法 - TMap
- 位图
- Gray Code
- ZOJ 3795 Grouping 强联通缩点+拓扑序+偏序集的最大链的大小
- 【Hadoop】12、运行hadoop的时候报错
- sql的简单的面试题
- 屏蔽系统锁屏的正确方法,亲测有效!
- js获取项目根路径
- Disruptor
- 如何查找TCOD所在程序的用户出口
- redis在linux下安装并测试(在spring下调用)
- signal(多线程?)
- Android 5.0 CTS 代码修改日记
- GRE填空技巧:已知推未知
- 程序中的@Override是什么意思?