Android 系统的锁屏时间放在Setting数据库中,字段为Setting.System.SCREEN_OFF_TIMEOUT。查看SettingProvider源码,查看如下文件源码:

Android-x86/frameworks/base/packages/Settings/Provider/src/com/android/providers/setting/DatabaseHelper.java

查看loadSystemSettings()函数的代码中有:loadIntergerSettingstmt,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!!大功告成~~~~~

更多相关文章

  1. android自动更新新版模块(简单,实用)
  2. Android(安卓)版本号和分支查看
  3. Android(安卓)Camera 模块分析
  4. Android查看外部依赖jar的源码'Android(安卓)Private Libraries'
  5. Android的init过程(二):初始化语言(init.rc)解析
  6. 在eclipse中查看android SDK的源代码
  7. 获取Android的Java源代码并在Eclipse中关联查看的最新方法
  8. Android(安卓)TextToSpeech语音播放文本
  9. android模块&相关技术

随机推荐

  1. Android理解:显式和隐式Intent
  2. Android中子布局填充ScrollView
  3. 【Android】AIDL介绍和实例讲解
  4. 把应用跑在android上
  5. android 将鼠标右键点击事件改为点击后返
  6. Android 中文 SDK —— ADT 14.0.0 (ADT14
  7. ToggleButton自定义View学习
  8. Android探索之旅(第三十二篇)Android 每日g
  9. Android(ViewPager中的ViewPager)ViewPager
  10. 农民伯伯的2013