关于Android锁屏的问题
来源:互联网 发布:铅笔字能保存多久 知乎 编辑:程序博客网 时间:2024/05/13 09:37
本文主要讨论Android锁屏的问题,具体有2个需求:
1、如何让Android开机后不自动锁屏
2、如何让Android设备永远不锁屏
阅读Android的源代码可知:Android的锁屏策略在\frameworks\policies\base\phone\com\android\internal\policy\impl目录下,因此,今天我们的这两个问题将在这里找到答案。
首先解决第一个问题:如何让Android开机后不自动锁屏
在\frameworks\policies\base\phone\com\android\internal\policy\impl目录下,在KeyguardViewMediator.java文件中有一个方法:onSystemReady();从方法名字可以看出,就是当系统启动完毕并已经做好准备了。
在此方法中会调用一个方法:doKeyguard();此方法就是让系统锁屏,因此,我们只要不让此方法执行就可以实现我们的目标了。呵呵~
接下来解决第二个问题:http://blog.csdn.net/sustzombie/article/details/6161381
本文转载自:
本文介绍一下怎样让Android 设备永不锁屏。 Android系统的锁屏时间存放在Setting数据库中,字段为Settings.System.SCREEN_OFF_TIMEOUT。查看SettingsProvider源码,查看如下文件的源码:
frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
查看loadSystemSettings()函数的代码如下:
private voidloadSystemSettings(SQLiteDatabase db) {
SQLiteStatementstmt = db.compileStatement("INSERT ORIGNORE INTO system(name,value) "
+ "VALUES(?,?); ");
Resources r =mContext.getResources();
loadBooleanSetting(stmt,Settings.System.DIM_SCREEN,
R.bool.def_dim_screen);
loadSetting(stmt,Settings.System.STAY_ON_WHILE_PLUGGED_IN,
"1".equals(SystemProperties.get("ro.kernel.qemu ")) ? 1 : 0);
loadIntegerSetting(stmt,Settings.System.SCREEN_OFF_TIMEOUT,
R.integer.def_screen_off_timeout);
// Set default cdma emergency tone
loadSetting(stmt,Settings.System.EMERGENCY_TONE, 0);
// Set default cdma call auto retry
loadSetting(stmt,Settings.System.CALL_AUTO_RETRY, 0);
// Set default cdma DTMF type
loadSetting(stmt,Settings.System.DTMF_TONE_TYPE_WHEN_DIALING, 0);
// Set default hearing aid
loadSetting(stmt,Settings.System.HEARING_AID, 0);
// Set default tty mode
loadSetting(stmt,Settings.System.TTY_MODE, 0);
loadBooleanSetting(stmt,Settings.System.AIRPLANE_MODE_ON,
R.bool.def_airplane_mode_on);
loadStringSetting(stmt,Settings.System.AIRPLANE_MODE_RADIOS,
R.string.def_airplane_mode_radios);
loadStringSetting(stmt,Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS,
R.string.airplane_mode_toggleable_radios);
loadBooleanSetting(stmt,Settings.System.AUTO_TIME,
R.bool.def_auto_time);// Sync timeto NITZ
loadIntegerSetting(stmt,Settings.System.SCREEN_BRIGHTNESS,
R.integer.def_screen_brightness);
loadBooleanSetting(stmt,Settings.System.SCREEN_BRIGHTNESS_MODE,
R.bool.def_screen_brightness_automatic_mode);
loadDefaultAnimationSettings(stmt);
loadBooleanSetting(stmt,Settings.System.ACCELEROMETER_ROTATION,