android4.2系统增永不休眠同时隐藏休眠选项

1. android\frameworks\base\packages\SettingsProvider\res\values\defaults.xml中设置def_screen_off_timeout为-1,

-1

2. android\packages\apps\Settings\res\values\arrays.xml文件增加两项,标红选项。

15 seconds

30 seconds

1 minute

2 minutes

10 minutes

30 minutes

never

15000

30000

60000

120000

600000

1800000

-1

3. android\packages\apps\Settings\res\values-zh-rCN中增加永不休眠对应的中文

"15 秒"

"30 秒"

"1分钟"

"2 分钟"

"5 分钟"

"10 分钟"

"30 分钟"

"永不休眠"

4./services/java/com/android/server/power/PowerManagerService.java

private int getScreenOffTimeoutLocked() {

int DonotSleeptimeout;

int timeout =mScreenOffTimeoutSetting;

if(isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked()) {

timeout = Math.min(timeout,mMaximumScreenOffTimeoutFromDeviceAdmin);

if(mUserActivityTimeoutOverrideFromWindowManager >= 0) {

timeout = (int)Math.min(timeout,mUserActivityTimeoutOverrideFromWindowManager);

}

DonotSleeptimeout = mScreenOffTimeoutSetting;

if(DonotSleeptimeout  < 0)

{

DonotSleeptimeout= mMaximumScreenOffTimeoutFromDeviceAdmin ;

returnMath.max(DonotSleeptimeout, mMaximumScreenOffTimeoutFromDeviceAdmin);

}

return Math.max(timeout,MINIMUM_SCREEN_OFF_TIMEOUT);

}

privatevoid updateUserActivitySummaryLocked(long now, int dirty) {

// Update the status of the useractivity timeout timer.

if ((dirty & (DIRTY_USER_ACTIVITY |DIRTY_WAKEFULNESS | DIRTY_SETTINGS)) != 0) {

mHandler.removeMessages(MSG_USER_ACTIVITY_TIMEOUT);

long nextTimeout = 0;

if (mWakefulness !=WAKEFULNESS_ASLEEP) {

final int screenOffTimeout =getScreenOffTimeoutLocked();

final int screenDimDuration =getScreenDimDurationLocked(screenOffTimeout);

mUserActivitySummary = 0;

if (mLastUserActivityTime >=mLastWakeTime) {

nextTimeout =mLastUserActivityTime

+ screenOffTimeout- screenDimDuration;

if (now < nextTimeout) {

mUserActivitySummary |=USER_ACTIVITY_SCREEN_BRIGHT;

} else {

nextTimeout =mLastUserActivityTime + screenOffTimeout;

if (now

mUserActivitySummary|= USER_ACTIVITY_SCREEN_DIM;

}

}

}

if (mUserActivitySummary == 0

&&mLastUserActivityTimeNoChangeLights >= mLastWakeTime) {

nextTimeout =mLastUserActivityTimeNoChangeLights + screenOffTimeout;

if (now < nextTimeout

&&mDisplayPowerRequest.screenState

!=DisplayPowerRequest.SCREEN_STATE_OFF) {

mUserActivitySummary =mDisplayPowerRequest.screenState

==DisplayPowerRequest.SCREEN_STATE_BRIGHT ?

USER_ACTIVITY_SCREEN_BRIGHT : USER_ACTIVITY_SCREEN_DIM;

}

}

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

Message msg =mHandler.obtainMessage(MSG_USER_ACTIVITY_TIMEOUT);

msg.setAsynchronous(true);

mHandler.sendMessageAtTime(msg,nextTimeout);

}

} else {

mUserActivitySummary = 0;

}

if (DEBUG_SPEW) {

Slog.d(TAG,"updateUserActivitySummaryLocked: mWakefulness="

+wakefulnessToString(mWakefulness)

+ ",mUserActivitySummary=0x" + Integer.toHexString(mUserActivitySummary)

+ ",nextTimeout=" + TimeUtils.formatUptime(nextTimeout));

}

}

}

5. /android/packages/apps/Settings/src/com/android/settings/ DisplaySettings.java

privatevoid updateTimeoutPreferenceDescription(long currentTimeout) {

ListPreference preference =mScreenTimeoutPreference;

String summary;

if (currentTimeout < -1) {

// Unsupported value

summary = "";

} 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

long timeout =Long.parseLong(values[i].toString());

if (currentTimeout >=timeout) {

best = i;

}

}

summary = preference.getContext().getString(R.string.screen_timeout_summary,

entries[best]);

if(currentTimeout < 0)summary =entries[best].toString();

}

}

preference.setSummary(summary);

}

onCreate方法中隐藏休眠选项:

mScreenTimeoutPreference= (ListPreference) findPreference(KEY_SCREEN_TIMEOUT);

final long currentTimeout =Settings.System.getLong(resolver, SCREEN_OFF_TIMEOUT,

FALLBACK_SCREEN_TIMEOUT_VALUE);

mScreenTimeoutPreference.setValue(String.valueOf(currentTimeout));

mScreenTimeoutPreference.setOnPreferenceChangeListener(this);

disableUnusableTimeouts(mScreenTimeoutPreference);

updateTimeoutPreferenceDescription(currentTimeout);

//hide sleep item

getPreferenceScreen().removePreference(mScreenTimeoutPreference);

版权声明:本文为博主原创文章,未经博主允许不得转载。

displaysettings.java_Android设置系统开机自动永不休眠相关推荐

  1. win10计算机拨号连接,Win10设置电脑开机自动连接宽带的方法

    原标题:Win10设置电脑开机自动连接宽带的方法 Win10如何设置计算机以自动连接宽带?使用计算机时通常使用许多用户.宽带连接在网上在线的方式,但许多用户每次都在线时需要手动去互联网,我觉得很麻烦. ...

  2. 龙芯looongnix系统开机自动执行脚本

    龙芯looongnix系统开机自动执行脚本 一.设置自动登录 默认无法通过登陆窗口 lightdm 登陆 loongson用户,但是我们可以通过配置让 lightdm 支持 loongson 登陆. ...

  3. win10系统开机自动登录的操作方法

    http://www.iwin10.com/jiaocheng/61398.html 按下"Win+R"组合键打开运行,输入:control userpasswords2  点击[ ...

  4. 如何设置win7开机自动拨号连接上网

    如何设置win7开机自动拨号连接上网 windows 7系统已经不是什么新鲜事了,但作为新系统依然有不少网络朋友对新系统的一些使用不太了解.不少朋友觉得win7拨号上网麻烦,每次开机都需要手动拨号连接 ...

  5. VirtualBox 共享文件夹设置 及 开机自动挂载

    原文地址为: VirtualBox 共享文件夹设置 及 开机自动挂载 鉴于支付宝等服务无视我们Linux用户的存在,没办法,那只好在Linux上用VirtualBox虚拟一个Windows系统了.系统 ...

  6. 如何设置电脑开机自动提示(防止忘打卡等)

    如何设置电脑开机自动提示: 第一种方法: 第一步:Ctrl+R 输入mmc命令打开 文件-添加/删除管理单元-组策略对象编辑器-添加-确定-确定(都是默认的). 第二步:退出小框,会看见有个" ...

  7. XP 系统开机自动登录

    前几天因为工作需要,需要将一台电脑设置为开机自动登录,并且登录用户还必须有登录密码.网上查了查,找到了一种比较简单的方法: 修改注册表 打开"HKEY_LOCAL_MACHINE\SOFTW ...

  8. jetson nano 相关设置(开机自动登录、取消休眠和屏保、开机自启动程序)

    目录 1. 开机自动登录 2. 取消屏保 2.1. 单击左下角图标,依次进入Preferences和 Screensaver 2.2. 进入Display Modes,Mode选择Disable Sc ...

  9. windows系统开机自动进行NTP时间同步和系统时间修正

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.环境介绍 二.使用步骤 1.SymmTime配置 运行情况 前言 NTP是一种常用的时间同步方式,同步精度可以达到 ...

最新文章

  1. Python2.7 安装numpy报错解决方法
  2. bBank Demo 演示(最后更:2010-4-16)
  3. VTK:可视化之CubeAxesActor2D
  4. 我在微信上大学:如何正确理解指针和结构体指针?
  5. 优化算法笔记|飞蛾扑火优化算法理解及实现
  6. 三目运算符c语言吗,看看三目运算符?:到底是怎么回事
  7. etcd3 安装与运维
  8. Django中文无法转换成latin-1编码的解决方案
  9. 浅谈如何设计MySQL索引
  10. VirtualBox安装及使用说明和虚拟机安装XP系统图文教程
  11. python输入直角三角形_如何用python做出直角三角形和其形成的锥形
  12. 质心公式_No.217 质心位置的求法(基础篇)
  13. 全方位解读数字转型在企业产业变革中发挥的作用!
  14. Proteus仿真51单片机入门
  15. 微信大数据挑战赛决赛方案:微信视频号推荐算法
  16. 转载:做正确的事情,等着被开除(Do the right thing, Wait to get fired)
  17. 前端中文输入法对剩余字数计算的影响
  18. 实训日志(十)——达芬奇调色
  19. ? ? 与 || 的区别
  20. 2 理解网络协议的工作模式

热门文章

  1. 从头编写 asp.net core 2.0 web api 基础框架 (5) EF CRUD
  2. jquery实现点击页面其他地方隐藏指定元素
  3. 一年计划-献给我已经逝去的青春(初出茅庐的小白)
  4. 粒子群算法(1)----粒子群简要
  5. 编辑模式下,控制对象移动
  6. 2012/08/27 夜
  7. 兄弟们,TechEd见!
  8. 给博客增加了一个主题Nautica02Liquid
  9. meetup_如何使用标准库和Node.js构建Meetup Slack机器人
  10. minus oracle 顺序_oracle minus的用法来一波