displaysettings.java_Android设置系统开机自动永不休眠
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设置系统开机自动永不休眠相关推荐
- win10计算机拨号连接,Win10设置电脑开机自动连接宽带的方法
原标题:Win10设置电脑开机自动连接宽带的方法 Win10如何设置计算机以自动连接宽带?使用计算机时通常使用许多用户.宽带连接在网上在线的方式,但许多用户每次都在线时需要手动去互联网,我觉得很麻烦. ...
- 龙芯looongnix系统开机自动执行脚本
龙芯looongnix系统开机自动执行脚本 一.设置自动登录 默认无法通过登陆窗口 lightdm 登陆 loongson用户,但是我们可以通过配置让 lightdm 支持 loongson 登陆. ...
- win10系统开机自动登录的操作方法
http://www.iwin10.com/jiaocheng/61398.html 按下"Win+R"组合键打开运行,输入:control userpasswords2 点击[ ...
- 如何设置win7开机自动拨号连接上网
如何设置win7开机自动拨号连接上网 windows 7系统已经不是什么新鲜事了,但作为新系统依然有不少网络朋友对新系统的一些使用不太了解.不少朋友觉得win7拨号上网麻烦,每次开机都需要手动拨号连接 ...
- VirtualBox 共享文件夹设置 及 开机自动挂载
原文地址为: VirtualBox 共享文件夹设置 及 开机自动挂载 鉴于支付宝等服务无视我们Linux用户的存在,没办法,那只好在Linux上用VirtualBox虚拟一个Windows系统了.系统 ...
- 如何设置电脑开机自动提示(防止忘打卡等)
如何设置电脑开机自动提示: 第一种方法: 第一步:Ctrl+R 输入mmc命令打开 文件-添加/删除管理单元-组策略对象编辑器-添加-确定-确定(都是默认的). 第二步:退出小框,会看见有个" ...
- XP 系统开机自动登录
前几天因为工作需要,需要将一台电脑设置为开机自动登录,并且登录用户还必须有登录密码.网上查了查,找到了一种比较简单的方法: 修改注册表 打开"HKEY_LOCAL_MACHINE\SOFTW ...
- jetson nano 相关设置(开机自动登录、取消休眠和屏保、开机自启动程序)
目录 1. 开机自动登录 2. 取消屏保 2.1. 单击左下角图标,依次进入Preferences和 Screensaver 2.2. 进入Display Modes,Mode选择Disable Sc ...
- windows系统开机自动进行NTP时间同步和系统时间修正
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.环境介绍 二.使用步骤 1.SymmTime配置 运行情况 前言 NTP是一种常用的时间同步方式,同步精度可以达到 ...
最新文章
- Python2.7 安装numpy报错解决方法
- bBank Demo 演示(最后更:2010-4-16)
- VTK:可视化之CubeAxesActor2D
- 我在微信上大学:如何正确理解指针和结构体指针?
- 优化算法笔记|飞蛾扑火优化算法理解及实现
- 三目运算符c语言吗,看看三目运算符?:到底是怎么回事
- etcd3 安装与运维
- Django中文无法转换成latin-1编码的解决方案
- 浅谈如何设计MySQL索引
- VirtualBox安装及使用说明和虚拟机安装XP系统图文教程
- python输入直角三角形_如何用python做出直角三角形和其形成的锥形
- 质心公式_No.217 质心位置的求法(基础篇)
- 全方位解读数字转型在企业产业变革中发挥的作用!
- Proteus仿真51单片机入门
- 微信大数据挑战赛决赛方案:微信视频号推荐算法
- 转载:做正确的事情,等着被开除(Do the right thing, Wait to get fired)
- 前端中文输入法对剩余字数计算的影响
- 实训日志(十)——达芬奇调色
- ? ? 与 || 的区别
- 2 理解网络协议的工作模式
热门文章
- 从头编写 asp.net core 2.0 web api 基础框架 (5) EF CRUD
- jquery实现点击页面其他地方隐藏指定元素
- 一年计划-献给我已经逝去的青春(初出茅庐的小白)
- 粒子群算法(1)----粒子群简要
- 编辑模式下,控制对象移动
- 2012/08/27 夜
- 兄弟们,TechEd见!
- 给博客增加了一个主题Nautica02Liquid
- meetup_如何使用标准库和Node.js构建Meetup Slack机器人
- minus oracle 顺序_oracle minus的用法来一波