最近客户要求实现,开机就让机器永不待机,我在网上找了一些方法,以下方法在我6.0的系统无效:
1.修改frameworks\base\packages\SettingsProvider\res\values\defaults.xml
<integer name="def_screen_off_timeout">2147483647</integer>或者
<integer name="def_screen_off_timeout">-1</integer>无效
2.修改prop变量ro.rk.screenoff_time=2147483647无效。
修改以上值都无法生效,可以通过dumpsys power查看 power相关的打印。
Sleep timeout: -1 ms
Screen off timeout: 60000 ms
Screen dim duration: 7000 ms
以上信息Screen off timeout: 60000 ms代表1分钟屏幕会关闭。
经过查看代码,以下方式验证可以
--- a/frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java
+++ b/frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java
@@ -82,6 +82,9 @@ import static android.os.PowerManagerInternal.WAKEFULNESS_AWAKE;
/**
* The power manager service is responsible for coordinating power management
* functions on the device.
@@ -1603,7 +1606,6 @@ public final class PowerManagerService extends SystemService
if (DEBUG_SPEW) {
Slog.d(TAG, "handleUserActivityTimeout");
}
-
mDirty |= DIRTY_USER_ACTIVITY;
updatePowerStateLocked();
}
@@ -1628,7 +1630,8 @@ public final class PowerManagerService extends SystemService
if (sleepTimeout >= 0) {
timeout = Math.min(timeout, sleepTimeout);
}
- return Math.max(timeout, mMinimumScreenOffTimeoutConfig);
+ //return Math.max(timeout, mMinimumScreenOffTimeoutConfig);
+ return mMaximumScreenOffTimeoutFromDeviceAdmin;
}