如何在settings里的休眠模式里添加永不休眠

最近项目需求里需要在设置菜单的休眠模式里添加一项永不休眠选择项。针对MTK平台的修改方式有如下几步骤。(其他平台和android原生系统的修改方式类似,只是android原生系统修改永不休眠需要通过设置较长的时间实现)1.由于代码不同,在Jelly Bean(android4.2)之前,如下在alps\frameworks\base\packages\SettingsProvider\res\values\defaults.xml中设置def_screen_off_timeout为-1,即-1同时请注意,经由下面的操作,setting里面休眠时间的Never菜单才会出来:修改alps\packages\apps\Settings\res\values\arrays.xml:

?

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253

<!-- Display settings.  The delay in inactivity before the screen is turned off. These are shown ain a list dialog. -->

<string-array name="screen_timeout_entries">

<item>15 seconds</item>

<item>30 seconds</item>

<item>1 minute</item>

<item>2 minutes</item>

<item>10 minutes</item>

<item>30 minutes</item>

<item>never</item>

</string-array>

<!-- Do not translate. -->

<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>600000</item>

<!-- Do not translate. -->

<item>1800000</item>

<item>-1</item>

</string-array>

修改对比语言value文件夹下的arrays.xml,修改screen_timeout_entries对应的翻译。不用管那个msgid,只是google用来表示是他自己的资源而已,直接添加"不灭"即可,请知悉。2,若是android4.2的code,请在前面的修改基础上再修改下面的代码:PowerManagerService.java?

1234567891011121314151617181920212223

private void updateUserActivitySummaryLocked(long now, int dirty) {

.....

//change code here ==============

Slog.d(TAG,"mScreenOffTimeoutSetting ="+mScreenOffTimeoutSetting);

//if (mUserActivitySummary != 0 ) {

if (mUserActivitySummary != 0 && mScreenOffTimeoutSetting > 0) {

//change code here  end ==============

Message msg = mHandler.obtainMessage(MSG_USER_ACTIVITY_TIMEOUT);

msg.setAsynchronous(true);

mHandler.sendMessageAtTime(msg, nextTimeout);

}

3.最后对packages/apps/Settings/src/com/android/settings下的DisplaySettings.java文件进行修改,修改如下:

?

1234567891011121314151617181920212223242526272829

private void updateTimeoutPreferenceDescription(long currentTimeout) {String summary;

//code here//if (currentTimeout < 0) {            // Unsupported value            //summary = "";       // } else {final CharSequence[] entries = preference.getEntries();final CharSequence[] values = preference.getEntryValues();//code end

....................................

if (entries.length != 0) {

//code here

if(best == 7){            summary = "无操作 永不灭";        }else{            summary = preference.getContext().getString(                        R.string.screen_timeout_summary, entries[best]);Log.i("zfc","summary="+summary+",best="+best);}//code end} else {                summary = "";            }
时间: 2024-07-29 15:37:55

如何在settings里的休眠模式里添加永不休眠的相关文章

Android添加永不休眠选项

很多朋友在使用TQ210做项目的时候都需要屏幕保持长亮,本文介绍如何修改TQ210 android源码,使系统可以永不休眠,代码如下: 1.添加英文选项 修改packages/apps/Settings/res/values/arrays.xml文件 +表示添加当前行 <item>30 minutes</item> +<item>Never</item> <item>1800000</item> +<!-- Do not tra

Linux 休眠,挂起(待机),关机等几个命令的区别及如何实现;如何启用Ubuntu的休眠模式

这里对linux 的几个命令整理下,有:休眠,挂起,待机,关机等几个命令的区别及如何实现. 休眠是一种更加省电的模式,它将内存中的数据保存于硬盘中,所有设备都停止工作.当再次使用时需按开关机键,机器将会恢复到您的执行休眠时的状态,而不用再次执行启动操作系统复杂的过程. 待机(挂起)是将当前处于运行状态的数据保存在内存中,机器只对内存供电,而硬盘.屏幕和CPU等部件则停止供电.由于数据存储在速度快的内存中,因此进入等待状态和唤醒的速度比较快.不过这些数据是保存在内存中,如果断电则会使数据丢失. 立

[转]如何启用Ubuntu的休眠模式

大家都知道 Windows 有休眠模式,其实 Ubuntu 也有.休眠模式简单来说,就是可以在用户暂时离开时将内存中的所有内容都写入到硬盘当中,当用户下次开机时,就可以直接启动到上次保存的时间状态. 打个比方,你正用 LibreOffice 在处理一个文档,同时打开了很多参考网页和其它文件,下班时间到了,你怕第二天回来再去找那些参考网页和文件等会影响你的写作思路,现在就可以在离开时将 Ubuntu 进行休眠.Ubuntu 休眠后会将所有的未完成的处理任务都写入到硬盘再关机,下次再开机时会自动从硬

Android设置系统开机自己主动永不休眠

android4.2系统增永不休眠同一时候隐藏休眠选项 1. android\frameworks\base\packages\SettingsProvider\res\values\defaults.xml中设置def_screen_off_timeout为-1, <integername="def_screen_off_timeout">-1</integer> 2. android\packages\apps\Settings\res\values\arr

SQL Server中的事务日志管理(4/9):简单恢复模式里的日志管理

当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会告诉你每个DBA应该知道的具体细节. 这个标题近乎是用词不当,因为很大程度上,运行在简单模式里不需要日志管理.在简单模式里,事务日志的唯一目的是在数据库恢复操作期间,保证事务的ACID属性,还有强制数据库的一致性和事务的持久性.事务日志不能被备份,不能用来数据库恢复,也不能用作日志传输. 在简单模式

SQL Server中的事务日志管理(6/9):大容量日志恢复模式里的日志管理

当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会告诉你每个DBA应该知道的具体细节. 这个标题有点用词不当,因为运行在大容量日志恢复模式里的数据库,我们通常是长期不管理日志.但是,DBA会考虑在大容量加载时,短期切换到大容量恢复模式.当数据库在大容量模式里运行时,一些其他例如索引重建的操作会最小化日志(minimally logged),因此在日

Windows vista/7休眠模式开启和关闭

Windows的休眠功能:将桌面以及所有打开的文件保存一份映像存在系统盘里(故开启此功能后系统盘的大小会大大增加,台式机不建议打开此功能!).开机后会原封不动的打开,这样开机的速度会大大提高. 1.打开命令提示符(CMD.exe) 2.开启休眠模式: powercfg.exe /hibernate on 关闭休眠模式,并删除映像: powercfg.exe /hibernate off !安装了还原精灵之类的保护软件是无法开启休眠模式的 复制去Google翻译翻译结果

mac休眠掉电快,更改休眠模式

打开终端输入: $ pmset -g 查看休眠模式 hibernatemode 发现值为3, 这是大多数的设置,如果为0 ,那么休眠时严重掉电, 我们可以改变这个模式: $ sudo pmset -a hibernatemode 25 值为25时,更加省电. 如果想在合上电脑之后断网,会更加省电,但是也不能下载了. 命令:$ sudo pmset -b tcpkeepalive 0 System-wide power settings: Currently in use: lidwake 1 a

Wake-On-LAN待机或休眠模式中唤醒

Wake-On-LAN简称WOL,是一种电源管理功能:如果存在网络活动,则允许设备将操作系统从待机或休眠模式中唤醒.许多主板厂商支持IBM提出的网络唤醒标准.该标准允许网络管理员远程打开PC机电源,以便进行文件升级.资源跟踪和设备清点等工作.WOL在还未广泛的采用,但在网络时代却具有广阔的发展前景. Wake-On-LAN的实现,主要是向目标主机发送特殊格式的数据包,是AMD公司制作的MagicPacket 这套软件以生成网络唤醒所需要的特殊数据包,俗称魔术包(Magic Packet).Mag