Android修改源代码控制不锁屏
来源:互联网 发布:js 获取dom 编辑:程序博客网 时间:2024/05/20 06:29
Android系统的锁屏时间放在Setting数据库中,字段为Setting.System.SCREEN_OFF_TIMEOUT。查看SettingProvider源码,查看如下文件源码:
Android-x86/frameworks/base/packages/Settings/Provider/src/com/android/providers/setting/DatabaseHelper.java
查看loadSystemSettings()函数的代码中有:loadIntergerSetting(stmt,Settings.System.SCREEN_OFF_TIMEOUT,R.interger.def_screen_off_timeout);其中Settings.System.SCREEN_OFF_TIMEOUT没有初始化的话(系统首次启动,这个字段肯定是没有初始化的)将会利用资源中的R.interger.def_screen_off_timeout来初始化。我们让系统永不锁屏,只需要把资源R.integer.def_screen_off_timeout设为-1即可。可查看文件:
Android-x86/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
可以找到R.integer.def_screen_off_timeout的定义
<integer name=”def_screen_off_timeout”>6000</integer>
发现默认值为6000ms,也就是60s。我们只需要把这个参数改为-1,然后重新编译SettingProvider模块就OK了.
另外为了防止用户进入系统后,修改锁屏时间,在Setting模块中删除对锁屏时间的设置,这样Android设备就永远不会锁屏。
另外还需要修改一个地方,否则设备开机之后就会直接进入锁屏状态,解锁之后就不会锁屏了(因为永不超时)
在android-x86/frameworks/policy/src/com/android/internal/policy/impl/KeyguaidViewMediator.java中有个
private Boolean mExternallyEnabled = true;
mExternallyEnabled是用来管理是否开启屏幕锁的关键。默认值是打开的。根据代码注释可以知道他是希望应用程序来修改这个值。所以要么在定义变量的时候初始化为false,或者在lanucher模块启动的时候,调用setKeyguardEnable方法关闭锁屏功能。
OK!!大功告成~~~~~
- Android修改源代码控制不锁屏
- Android修改源代码控制不锁屏
- Android修改源代码控制永不锁屏
- Android修改源代码控制永不锁屏 .
- [教程] Android修改源代码控制永不锁屏
- 初步修改android源代码
- android系统源代码下载-修改版
- 修改Android系统源代码,优化开机速度。
- 关于Android反编译(并不能修改源代码)
- <转载>Android 通过蓝牙控制小车源代码+视频
- 源代码设计、实现、源代码控制
- 源代码设计实现,源代码控制
- [版本控制]如何在GitHub上下载自己喜欢的开源代码并提交修改
- [版本控制]如何在GitHub上下载自己喜欢的开源代码并提交修改
- 源代码版本控制
- 源代码版本控制
- C#窗体控制源代码
- 源代码 远程控制注释
- CSS3动画效果-animate.css
- <cocos2d-x for window phone>一个简单的打地鼠游戏
- 现金流量表
- WINDOWS内核对象
- C#连接SQL数据库
- Android修改源代码控制不锁屏
- hdu2222 Keywords Search
- mysql 导入导出数据库以及函数、存储过程
- 屏蔽Android4.0.3状态栏
- 旋转动画
- perl 常用模块小例子
- 当Xib文件删掉之后,解决报错信息:NSInternalInconsistencyException loaded xxx nib but the view outlet was not set.
- dwz dialog 分页出错
- 翼码张波O2O分享9:O2O的其他商务行为