安卓7.0显示设置界面休眠菜单添加“永不灭屏”选项
2018-02-01 17:49
579 查看
1. 打开文件packages/apps/Settings/res/values/arrays.xml,在该文件中添加以下内容
<string-array name="screen_timeout_entries">
<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>
<item>Never</item> // added
</string-array>
<string-array name="screen_timeout_values" translatable="false">
<!-- 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>
<item>0</item>// added
</string-array>
2.打开文件packages/apps/Settings/res/values-zh-rCN/arrays.xml,添加如下内容
<string-array name="screen_timeout_entries">
<item msgid="3342301044271143016">"15\u79d2"</item>
<item msgid="8881760709354815449">"30\u79d2"</item>
<item msgid="7589406073232279088">"1\u5206\u949f"</item>
<item msgid="7001195990902244174">"2\u5206\u949f"</item>
<item msgid="7489864775127957179">"5\u5206\u949f"</item>
<item msgid="2314124409517439288">"10\u5206\u949f"</item>
<item msgid="6864027152847611413">"30\u5206\u949f"</item>
<item>"永不灭屏"</item> // added
</string-array>
3.打开文件packages/apps/Settings/src/com/android/settings/DisplaySettings.java,添加如下内容
4.打开文件frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java,添加如下内容
按照以上方法添加完成后编译代码,刷机即可生效
<string-array name="screen_timeout_entries">
<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>
<item>Never</item> // added
</string-array>
<string-array name="screen_timeout_values" translatable="false">
<!-- 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>
<item>0</item>// added
</string-array>
2.打开文件packages/apps/Settings/res/values-zh-rCN/arrays.xml,添加如下内容
<string-array name="screen_timeout_entries">
<item msgid="3342301044271143016">"15\u79d2"</item>
<item msgid="8881760709354815449">"30\u79d2"</item>
<item msgid="7589406073232279088">"1\u5206\u949f"</item>
<item msgid="7001195990902244174">"2\u5206\u949f"</item>
<item msgid="7489864775127957179">"5\u5206\u949f"</item>
<item msgid="2314124409517439288">"10\u5206\u949f"</item>
<item msgid="6864027152847611413">"30\u5206\u949f"</item>
<item>"永不灭屏"</item> // added
</string-array>
3.打开文件packages/apps/Settings/src/com/android/settings/DisplaySettings.java,添加如下内容
private void updateTimeoutPreferenceDescription(long currentTimeout) { ListPreference preference = mScreenTimeoutPreference; String summary //add never srceen off begin final CharSequence[] entries = preference.getEntries(); final CharSequence[] values = preference.getEntryValues(); //add never srceen off end if (currentTimeout < 0) { // Unsupported value // add never srceen off begin //summary = ""; if (entries != null || entries.length != 0){ summary = (entries[entries.length-1]).toString(); }else{ summary = ""; } // add never srceen off end } else { //final CharSequence[] entries = preference.getEntries(); //final CharSequence[] values = preference.getEntryValues(); if (entries == null || entries.length == 0) { summary = ""; } else { int best = 0; for (int i = 0; i < values.length; i++) { long timeout = Long.parseLong(values[i].toString()); if (currentTimeout == timeout) { best = i; } } ///M: to prevent index out of bounds @{ if (entries.length != 0) { summary = preference.getContext().getString( R.string.screen_timeout_summary, entries[best]); } else { summary = ""; } ///M: @} } } preference.setSummary(summary); }
4.打开文件frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java,添加如下内容
private int getScreenOffTimeoutLocked(int sleepTimeout) { int nosleep = 0; // add never srceen off int timeout = mScreenOffTimeoutSetting; if (isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked()) { timeout = Math.min(timeout, mMaximumScreenOffTimeoutFromDeviceAdmin); } if (mUserActivityTimeoutOverrideFromWindowManager >= 0) { timeout = (int)Math.min(timeout, mUserActivityTimeoutOverrideFromWindowManager); } if (sleepTimeout >= 0) { timeout = Math.min(timeout, sleepTimeout); } if (mUserActivityTimeoutMin) { timeout = (int)Math.min(timeout, mUserActivityTimeoutOverrideFromCMD); } //add never srceen off begin nosleep = mScreenOffTimeoutSetting; if(nosleep == 0){ nosleep = mMaximumScreenOffTimeoutFromDeviceAdmin ; return Math.max(nosleep, mMaximumScreenOffTimeoutFromDeviceAdmin); } //add never srceen off end return Math.max(timeout, mMinimumScreenOffTimeoutConfig); }
按照以上方法添加完成后编译代码,刷机即可生效
相关文章推荐
- 【Android架构设置篇】之设置界面添加并实现永不休眠功能
- openwrt web界面添加 菜单选项
- android4.2 添加永不休眠选项
- 图形的绘制,如何使用自定义画笔(颜色,线宽,线形)。如何为程序中添加选项菜单和选项设置对话框,如何使用标准颜色对话框,如何使用字体对话框,在选项对话框中实现预览功能。实现选项对话框和窗口类中的数据交换。如何改变对话框和控件的背景色,如何改变控件的文本颜色,
- 两款【linux字符界面下】显示【菜单】,【选项】的powershell脚本模块介绍
- Android - 永不锁屏,开机不锁屏,删除设置中休眠时间选项
- Android添加永不休眠选项
- TQ210添加永不休眠选项
- 拍照界面和照片编辑,复制、剪切、粘贴等菜单的显示语言设置
- VS2008基于对话框,在资料里添加了菜单,界面不显示菜单问题
- i.max6 e9 android系统添加永不休眠的选项
- MTK Android5.0 settings休眠模式中添加永不休眠(Never)选项
- ubuntu16.04 xfce4的鼠标主题设置为oxygen-red、修改文件夹背景颜色、两处系统字体设置、右键菜单添加压缩解压选项
- XEditText:带删除功能的EditText;可设置自动添加分隔符分割电话号码、银行卡号等;支持禁止Emoji表情符号输入;自定义右边显示图标作功能选项;仿iOS输入框风格
- ActionBar 显示选项菜单
- silverlight - DataForm 添加数据时(单独添加页面)增加ComboBox 的方法以及设置默认选项 (备忘)
- DevExpress GridView 添加和设置右键菜单
- 增加工具栏提示&修改程序字体&设置文档标题&控制窗口显示&更新菜单选中/不选中状态
- Android 铃声设置界面,起始位置为当前已选项
- redmine安装好后,在设置里选择语言为简体中文后,为什么界面还是显示英语