1.修改默认熄屏时间
修改: /frameworks/base/packages/SettingsProvider/res/values/defaults.xml
<integer name="def_screen_off_timeout"><!-- 60000 -->0</integer>
2.添加设置项
位置: /packages/apps/Settings/res/values-zh-rCN/arrays.xml
<string-array name="screen_timeout_entries">
+ <item msgid="9149294732238283185">"永不"</item>
<item msgid="3342301044271143016">"15秒"</item>
<item msgid="8881760709354815449">"30秒"</item>
<item msgid="7589406073232279088">"1分钟"</item>
<item msgid="7001195990902244174">"2分钟"</item>
<item msgid="7489864775127957179">"5分钟"</item>
<item msgid="2314124409517439288">"10分钟"</item>
<item msgid="6864027152847611413">"30分钟"</item>
</string-array>
位置: /packages/apps/Settings/res/values/arrays.xml
<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>
<string-array name="screen_timeout_values" translatable="false">
+ <item>0</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>
3.设置常亮
位置: /frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java
private void updateUserActivitySummaryLocked(long now, int dirty) {
// Update the status of the user activity timeout timer.
...
// modify for no sleep
if (mScreenOffTimeoutSetting != 0) {
if (mUserActivitySummary != 0 && nextTimeout >= 0) {
Message msg = mHandler.obtainMessage(MSG_USER_ACTIVITY_TIMEOUT);
msg.setAsynchronous(true);
mHandler.sendMessageAtTime(msg, nextTimeout);
}
} else {
mUserActivitySummary |= USER_ACTIVITY_SCREEN_BRIGHT;
}
// end
...
}
位置: /frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
private void updateLockScreenTimeout() {
...
if (enable) {
if (localLOGV) Log.v(TAG, "setting lockscreen timer");
mHandler.removeCallbacks(mScreenLockTimeout); // remove any pending requests
// modified for no sleep start
if(mLockScreenTimeout != 0) {
mHandler.postDelayed(mScreenLockTimeout, mLockScreenTimeout);
}
// modified end
} else {
if (localLOGV) Log.v(TAG, "clearing lockscreen timer");
mHandler.removeCallbacks(mScreenLockTimeout);
}
}