1. 修改default值,不自动休眠
/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
修改def_screen_off_timeout为-1
2.frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java
修改PowerManagerService.java文件getScreenOffTimeoutLocked()函数
- private int getScreenOffTimeoutLocked() {
- int timeout = mScreenOffTimeoutSetting;
- if (isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked()) {
- timeout = Math.min(timeout, mMaximumScreenOffTimeoutFromDeviceAdmin);
- }
- if (mUserActivityTimeoutOverrideFromWindowManager >= 0) {
- timeout = (int)Math.min(timeout, mUserActivityTimeoutOverrideFromWindowManager);
- }
- return Math.max(timeout, MINIMUM_SCREEN_OFF_TIMEOUT);
- }
- 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);