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\arrays.xml文件添加两项。标红选项。
<!--Display settings. The delay ininactivity before the screen is turned off. These are shown ain a list dialog.-->
<string-arrayname="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>
3. android\packages\apps\Settings\res\values-zh-rCN中添加永不休眠相应的中文
<string-arrayname="screen_timeout_entries">
<itemmsgid="3342301044271143016">"15 秒"</item>
<itemmsgid="8881760709354815449">"30 秒"</item>
<item msgid="7589406073232279088">"1分钟"</item>
<itemmsgid="7001195990902244174">"2 分钟"</item>
<itemmsgid="7489864775127957179">"5 分钟"</item>
<itemmsgid="2314124409517439288">"10 分钟"</item>
<itemmsgid="6864027152847611413">"30 分钟"</item>
<item msgid="9989898989898989898">"永不休眠"</item>
</string-array>
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 <nextTimeout) {
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 <values.length; 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);
Android设置系统开机自己主动永不休眠的更多相关文章
- android设置系统默认开机时间
1.设置RTC时间,该时间是如果RCT时钟断电以后使用的默认时间 Android L之前: \alps\mediatek\custom\[project]\preloader\ inc\cust_rt ...
- android设置系统横屏方案
效果如下: 实现方案: 1.ChangeOrientationService.java /** * @描述 强制旋转屏幕服务 * @作者 tll * @时间 2018/1/5 */ public cl ...
- android设置系统模式
android 静音与振动1,设置静音和振动静音和振动都属于来电后的动作.所以在设置静音和振动时都只是设置一些标识,并往数据库写入相应标识. 文件:packages/apps/settings/src ...
- android 设置系统屏幕亮度
/** * 获得当前屏幕亮度的模式 * SCREEN_BRIGHTNESS_MODE_AUTOMATIC=1 为自动调节屏幕亮度 * SCREEN_BRIGHTNESS_MODE_MANUAL=0 为 ...
- I.MX6 Android 永不休眠
/************************************************************************* * I.MX6 Android 永不休眠 * 说明 ...
- [转载]Android系统开机画面的实现
Android系统开机画面分为下面三个阶段: 1.开机图片:Android内核是基于标准内核的,对linux比较熟悉,特别是在开发板上移植过Linux系统的人就知道在内核引导过程中会显 示出一 个小企 ...
- Android系统开机启动流程及init进程浅析
Android系统启动概述 Android系统开机流程基于Linux系统,总体可分为三个阶段: Boot Loader引导程序启动Linux内核启动Android系统启动,Launcher/app启动 ...
- Android添加永不休眠选项
很多朋友在使用TQ210做项目的时候都需要屏幕保持长亮,本文介绍如何修改TQ210 android源码,使系统可以永不休眠,代码如下: 1.添加英文选项 修改packages/apps/Setting ...
- Android 通过应用程序来设置系统的日期和时间中的
Android 通过应用程序来设置系统的日期和时间中的 android 2.3 android 4.0 测试可行,刚需ROOT权限. import java.io.DataOutputStream; ...
随机推荐
- http过程
当在浏览器里输入URL地址时,http的通讯过程: 1) 连接 DNS解析:URL——>DNS服务器(找到返回其ip,否则继续将DNS解析请求传给上级DNS服务器) Socket连接:通过IP和 ...
- Knockout v3.4.0 中文版教程-16-控制流-foreach绑定
2. 控制流 1. foreach绑定 目的 foreach绑定会遍历一个数组,为每个数组项生成重复的元素标记结构并做关联.这在渲染列表或表格的时候特别有用. 假设你的数组是一个监控数组,之后无论你进 ...
- search Paths $(SRCROOT)和$(PROJECT_DIR)区别
$(SRCROOT)代表的时项目根目录下 $(PROJECT_DIR)代表的是整个项目 PS:往项目添加文件时,例如.a等,要先showinfinder ,复制到项目中,然后再拖到xcode项目中
- Python requests模块params、data、json的区别
json和dict对比 json的key只能是字符串,python的dict可以是任何可hash对象(hashtable type): json的key可以是有序.重复的:dict的key不可以重复. ...
- 大数据学习——hive的sql练习题
ABC三个hive表 每个表中都只有一列int类型且列名相同,求三个表中互不重复的数 create table a(age int) row format delimited fields termi ...
- 【双向bfs】2017多校训练十 HDU 6171 Admiral
[题意] 现在给出一个三角矩阵,如果0编号的在点(x,y)的话,可以和(x+1,y),(x-1,y),(x+1,y+1),(x-1,y-1)这些点进行交换. 我们每一次只能对0点和其他点进行交换.问最 ...
- spring5响应式编程
1.Spring5新特性 2.响应式编程响应式编程:非阻塞应用程序,借助异步和事件驱动还有少量的线程垂直伸缩,而非横向伸缩(分布式集群)当Http连接缓慢的时候,从数据库到Http数据响应中也会 ...
- MyEclipse6.5增加对Tomcat7的支持
MyEclipse6.5增加对Tomcat7的支持 最近在研究Servlet3.0,它是JavaEE6.0规范中的一部分 而Servlet3.0对服务器是有要求的,比如Tomcat7+(而Tomcat ...
- 理解 Nova 架构
Compute Service Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源. OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nov ...
- Python入门--8--字符串
一.创建.修改字符串 str1='呆呆 槑槑 木木 林林' str1[1] #输出呆 str1[2] #输出' ',也就是空值 str1=str[:5]+'插入乖呆 '+str1[5:] #修改字符串 ...