Phytec中国的wiki
support@phytec.cn
热线:0755-61802110-803
android bsp 包源码 packages/apps/Settings/res/values/arrays.xml
<!-- Display settings. The delay in inactivity before the screen is turned off. These are shown in a list dialog. --> <string-array name="screen_timeout_entries"> <item>Never</item> <!-- 加上这一行 --> <item>15 seconds</item> <item>30 seconds</item> <item>1 minute</item> <item>2 minutes</item> <item>5 minutes</item> <item>10 minutes</item> <item>30 minutes</item> </string-array> <!-- Do not translate. --> <string-array name="screen_timeout_values" translatable="false"> <!-- Do not translate. --> <item>-1</item> <!-- 加上这一行 --> <!-- Do not translate. --> <item>15000</item> <!-- Do not translate. --> <item>30000</item> <!-- Do not translate. --> <item>60000</item> <!-- Do not translate. --> <item>120000</item> <!-- Do not translate. --> <item>300000</item> <!-- Do not translate. --> <item>600000</item> <!-- Do not translate. --> <item>1800000</item> </string-array>
修改frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java源码,修改如下:
nzhang@Z220:~/bsp/mx6/android-alpha1/frameworks/base$ git diff services/core/java/com/android/server/power/PowerManagerService.java diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java index a0e6062..86168e9 100644 --- a/services/core/java/com/android/server/power/PowerManagerService.java +++ b/services/core/java/com/android/server/power/PowerManagerService.java @@ -420,6 +420,9 @@ public final class PowerManagerService extends SystemService // True if the battery level is currently considered low. private boolean mBatteryLevelLow; + // True if never sleep. + private boolean mNeverSleep = true; + private final ArrayList<PowerManagerInternal.LowPowerModeListener> mLowPowerModeListeners = new ArrayList<PowerManagerInternal.LowPowerModeListener>(); @@ -1535,6 +1538,12 @@ public final class PowerManagerService extends SystemService private int getScreenOffTimeoutLocked(int sleepTimeout) { int timeout = mScreenOffTimeoutSetting; + + if (timeout < 0) { + mNeverSleep = true; + } else { + mNeverSleep = false; + } if (isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked()) { timeout = Math.min(timeout, mMaximumScreenOffTimeoutFromDeviceAdmin); } @@ -1612,6 +1621,7 @@ public final class PowerManagerService extends SystemService private boolean isBeingKeptAwakeLocked() { return mStayOn || mProximityPositive + || mNeverSleep || (mWakeLockSummary & WAKE_LOCK_STAY_AWAKE) != 0 || (mUserActivitySummary & (USER_ACTIVITY_SCREEN_BRIGHT | USER_ACTIVITY_SCREEN_DIM)) != 0; @@ -1889,6 +1899,7 @@ public final class PowerManagerService extends SystemService if ((mWakeLockSummary & WAKE_LOCK_SCREEN_BRIGHT) != 0 || (mUserActivitySummary & USER_ACTIVITY_SCREEN_BRIGHT) != 0 + || mNeverSleep || !mBootCompleted) { return DisplayPowerRequest.POLICY_BRIGHT; }
修改后重新编译Android BSP,重烧系统后,进入Android系统 Settings –> Display –> sleep –> never 设置后,系统就不会进入睡眠状态了。
Overview
Content Tools
Activity
Tasks