android4.2以上版本比android4.2以前的版本framework层框架部分有了很大的改变,androd4.2以前版本framework层给上的接口函数与android4.2以上版本的接口函数也有了些变化,以前让机器永不休眠的方法用在android4.2以上版本已经不起作用了。现将android4.4.2版本修改永不休眠的方法记录下来。
一、修改default值,不自动休眠
frameworks/base/packages/SettingsProvider/res/values/defaults.xml
60000
二、修改PowerManagerService.java文件getScreenOffTimeoutLocked()函数
frameworks/base/services/java/com/android/server/power/PowerManagerService.java
private int getScreenOffTimeoutLocked() {
int nosleep;
int timeout = mScreenOffTimeoutSetting;
if (isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked()) {
timeout = Math.min(timeout, mMaximumScreenOffTimeoutFromDeviceAdmin);
}
if (mUserActivityTimeoutOverrideFromWindowManager >= 0) {
timeout = (int)Math.min(timeout, mUserActivityTimeoutOverrideFromWindowManager);
}
nosleep = mScreenOffTimeoutSetting;
if(nosleep < 0)
{
nosleep = mMaximumScreenOffTimeoutFromDeviceAdmin ;
return Math.max(nosleep, mMaximumScreenOffTimeoutFromDeviceAdmin);
}
return Math.max(timeout, MINIMUM_SCREEN_OFF_TIMEOUT);
}
三、修改
mExternallyEnabled值
frameworks/base/packages/Keyguard/src/com/android/keyguard/KeyguardViewMediator.java
/**
* External apps (like the phone app) can tell us to disable the keygaurd.
*/
private boolean mExternallyEnabled = false;
将mExternallyEnabled的默认值改为false
重新编译system.img:
source build/envsetup.sh
lunch sabresd_6dq-user
mmm frameworks/base/
make snod
修改结果:
把system.img 重新烧入板子,第一次开机不要解屏,静待一个小时不会休眠,重新上电开机不需要解锁,静待一小时不会休眠。完全达到效果!!