最近项目需求里需要在设置菜单的休眠模式里添加一项永不休眠选择项。针对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 = "";            }

转载于:https://www.cnblogs.com/muhuacat/p/7447362.html

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

  1. 计算机开启休眠模式,win7怎么开启休眠模式

    win7怎么开启休眠模式?Win7系统如果电脑一段时间不用,可以设置成休眠或者睡眠.一般来说,电脑如果不动它,会自动先睡眠,再长时间不动,就会休眠.不知如何设置 的用户,请来看看下面的win7开启休眠 ...

  2. Win11没有休眠模式怎么办 Win11没有休眠模式解决方法

    很多用户应该已经更新使用上win11新系统了吧,但是有用户发现点击电源菜单中没有休眠按钮,这该怎么办?其实解决方法很简单,在电源设置中打开休眠,就可以重新显示了.下面我们一起来看看详细的解决教程吧. ...

  3. stm32芯片休眠模式_stm32单片机进入休眠模式后无法下载程序等问题的解决

    利用stm32单片机的休眠模式,使单片机间歇的休眠从而实现低功耗的目的.往往会出现进入休眠后无法唤醒,导致下一次程序烧不进去.通常的解决办法是:一般的开发板或单片机最小系统都会有复位键,按住复位键,点 ...

  4. Arduino休眠模式和看门狗以及中断详解

    休眠模式.看门狗.中断 一.休眠模式 睡眠中断的触发 二.看门狗 实例一 实例二 三.外部中断 1.为什么需要中断? 2.不关心功耗还需要中断吗? 3.各种板子的中断 4.中断函数.中断触发模式与设置 ...

  5. 休眠后gpio状态_浅谈Digi XBee模块的休眠模式

    浅谈Digi XBee模块的休眠模式 2020-3-25 Digi XBee S2C模块,如果仅连接电源线可以测得,在待机情况下,大约是10.5mA左右的电流,在休眠时的功耗可以低到0.5uA.可以知 ...

  6. Win 7 :禁用计算机的休眠模式

    Vista/Win7默认启用休眠模式,并且会在系统盘生成一个几乎等同于内存大小的临时文件,这个文件是无法删除的,并且即使用其他方法删除后, 也会在开机后自动生成, 那么怎么取消呢?用管理员模式运行&q ...

  7. Arduino - 休眠模式

    Arduino像电脑和手机一样,也具备休眠功能. 在休眠状态下,系统几乎完全停止运作,只保留基本的侦测功能,因此只消耗少许电力. 主要功能函数如下: //引用库文件#include <avr/s ...

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

    这里对linux 的几个命令整理下,有:休眠,挂起,待机,关机等几个命令的区别及如何实现. 休眠是一种更加省电的模式,它将内存中的数据保存于硬盘中,所有设备都停止工作.当再次使用时需按开关机键,机器将 ...

  9. 如何启用Ubuntu的休眠模式

    如何启用Ubuntu的休眠模式 1. 写在前面 2. 检查Ubuntu休眠模式是否正常 3. 重新启用休眠 1. 写在前面 下文对应ubuntu14.04的方法同样适用于ubuntu 16.04 LT ...

  10. 修改Android10系统源码支持手机永不休眠

    一.设置永不休眠简单分析 安卓手机中"设置"应用里面可以设置手机屏幕超时时间.如下图所示:通过选项可以看到最多能设置30分钟,那如果需要永不休眠,只要把屏幕超时时间设置的足够大就可 ...

最新文章

  1. linux里的dd权限不够怎么办,Linux dd 遇到 容量不足 的 resize 解法
  2. Java后台管理系统,开箱即用
  3. 容器学习 之 安装docker(二)
  4. cmd mysql log_如何使用mysqlbinlog工具?
  5. SAP Spartacus界面注册用户获取OAuth Access Token的方式
  6. h5启动原生APP总结
  7. css样式,后代选择器
  8. 1.1 STL 概述
  9. 12505 java_Java jdbc Oracle error: ORA 12505
  10. 恭喜51CTO视频课程认证讲师、博主李海园喜得姐妹花
  11. 解决办法:undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
  12. 用Protel 99 SE学习原理图的设计及pcb的绘制
  13. 关于U盘被写保护无法格式化的解决方法
  14. PHP 结合MYSQL简单的实现了Todo List 功能
  15. el-tree处理大量数据
  16. Spring MVC PUT 表单参数获取
  17. 【数据集】Kinetics-600 dataset介绍
  18. Ubuntu18.04 安装Nvidia驱动+CUDA+cuDNN+Anaconda3(图文超详细)
  19. Android 异步进程
  20. 2022年危险化学品经营单位主要负责人及危险化学品经营单位主要负责人模拟考试

热门文章

  1. Groupon的电子邮件营销故事
  2. [转]20个优秀网站助你征服CSS
  3. Windows驱动开发,几个BLOG值得经常看看
  4. 反编译那些事儿(六)—所编译得.class文件带有$符号
  5. .Net Core报“‘GB2312‘ is not a supported encoding name. For information on defining a custom encod”的错误
  6. vs2012新建项目时出现错误提示框解决办法
  7. C++11 非成员函数begin()、end()
  8. hive设置为本地模式,从而避免MapReduce
  9. java文件中注释出现乱码解决办法
  10. java中是否可以覆盖over_”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?...