AndroidQ设置永不灭屏
AndroidQ增加屏幕永不超时
由于本比较菜,源码的理解不到位,无法精准对症下药,找了三种方案一个一个试把。
第一个方案
1:先修改res/values/arrays.xml
该文件中保存的是数组资源,哪种方案都是需要改的。
30 minutes
//增加改选项,为页面上看的到的数组选项
Never
1800000
//增加选项2147483647为int最大值
2147483647
2:修改 src/com/android/settings/display/TimeoutListPreference.java
最后修改src/com/android/settings/display/TimeoutPreferenceController.java
第二种方法
1:packages/apps/Settings/res/values/arrays.xml
30 minutes
//下面为新增
Never
1800000
-1 //如果-1编译会报错则看另一种方案
2:然后在Settings.java文件中修改设置的休眠时间
//putInt最终调用的是putIntForUser
public static boolean putInt(ContentResolver cr, String name, int value) {
return putIntForUser(cr, name, value, cr.getUserId());
}
//putIntForUser中根据传入的name和value特殊值-1进行修改设置
/** @hide */
@UnsupportedAppUsage
public static boolean putIntForUser(ContentResolver cr, String name, int value,int userHandle) {
///ADD START
if(name.equals(SCREEN_OFF_TIMEOUT))
{
//-1说明是我们在设置中添加的永不休眠的值
if(value==-1)
{
//
Log.d(“Settings”,“change screen timeout for:”+Integer.toString(Integer.MAX_VALUE-1000));
return putStringForUser(cr, name, Integer.toString(Integer.MAX_VALUE-1000), userHandle);
}
}
///ADD END
return putStringForUser(cr, name, Integer.toString(value), userHandle);
}
另一种方案Android8的
1:packages/apps/Settings/res/values/arrays.xml
30 minutes
never
1800000
2147483647
2:packages/apps/Settings/src/com/android/settings/display/TimeoutPreferenceController.java
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
try {
long value = Long.parseLong((String) newValue); //int修改成long
Settings.System.putLong(mContext.getContentResolver(), SCREEN_OFF_TIMEOUT, value);
updateTimeoutPreferenceDescription((TimeoutListPreference) preference, value);
} catch (NumberFormatException e) {
Log.e(TAG, “could not persist screen timeout setting”, e);
}
return true;
}
…
private void updateTimeoutPreferenceDescription(TimeoutListPreference preference,
long currentTimeout) {
final CharSequence[] entries = preference.getEntries();
final CharSequence[] values = preference.getEntryValues();
final String summary;
if (preference.isDisabledByAdmin()) {
summary = mContext.getString(com.android.settings.R.string.disabled_by_policy_title);
} else {
final CharSequence timeoutDescription = getTimeoutDescription(
currentTimeout, entries, values);
// add code start
//if( currentTimeoutjava.lang.Integer.MAX_VALUE){
// summary = entries[best].toString();
// }
if(currentTimeout2147483647){
summary=timeoutDescription.toString();
}else{ //add code
summary = timeoutDescription == null
? “”
: mContext.getString(R.string.screen_timeout_summary, timeoutDescription);
}//add code
}
preference.setSummary(summary);
}
根据数据库设置永不灭屏
本小白实习时搞过小段时间的java后端,对操作数据库的方式比较容易理解和认可
1:frameworks/base/packages/SettingsProvider/res/values/defaults.xml
true
- 1800000
- 0
-1
false
false
2:frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java
private int getScreenOffTimeoutLocked(int sleepTimeout) {
int timeout = mScreenOffTimeoutSetting;
if(timeout == 0){
//rk3288 7.1比较特殊,这是是timeout为0代表不灭屏,一般android此值为-1,具体为多少需要查看Setting的DisplaySettings.java源码,比如我的是
AndroidQ设置永不灭屏相关推荐
- RK3588去掉锁屏设置永不灭屏
1.问题1系统会锁屏修改: 去掉锁屏2.问题2屏幕会灭屏修改: 设置永不灭屏 device/rockchip/rk3588/overlay/frameworks/base/packages/Setti ...
- MTK隐藏导航栏,去掉下拉,永不锁屏,永不灭屏
MTK隐藏导航栏 修改全局属性, 有兴趣的可以全局搜索这个属性,在systemui以及framework中好像都有写 qemu.hw.mainkeys=1 MTK去掉下拉通知 这里去掉添加的view, ...
- MTK开发之—开机永不灭屏
步骤一:修改配置文件 文件路径:/frameworks/base/packages/SettingsProvider/res/values/defaults.xml 说明一下:def_screen_o ...
- Ubuntu 20.04 如何设置永不息屏
右键进入settings 找到power,将Blank Screen 设置为Never
- 5行Python 代码就能让你的电脑永不息屏
前言 Python 不愧是一门优雅.易入门的编程语言.往往用很少量的代码,就能帮助你完成一件很漂亮的事儿. 最开始学习 Python,不需要太过复杂.只要玩儿的开心就行,慢慢培养兴趣,等你上手后,你会 ...
- Python3,5行代码让电脑永不息屏。
5行代码禁止电脑息屏 1.引言 2.电脑永不息屏的两种方法 2.1 电脑手动方式 2.2 代码方式 2.2.1 安装 2.2.2 代码实战 1.引言 小屌丝:鱼哥,按照公司规定,我的电脑锁屏时间是5分 ...
- 5 行 Python 代码就能让你的电脑永不息屏,这波必须装到...
前言 首先,必须得承认Python 是一门优雅.易入门的编程语言.往往用很少量的代码,就能帮助你完成一件很漂亮的事儿.这也是我 使用python多年的心里话.比起那些难.麻烦的的软件,python圆了 ...
- 5行Python代码就能让你的电脑 “永不息屏”?
前言 Python不亏是一门 优雅 . 易入门 的编程语言.往往用很少量的代码,就能帮助你完成一件很漂亮的事儿. 最开始学习Python,不需要太过复杂.只要玩儿的开心就行,慢慢培养兴趣,等你上手后, ...
- Python:让我教你如何让电脑永不息屏
咳咳,也许有些朋友看到这篇文章,会觉得很奇怪 电脑永不息屏,这不是很简单吗,还要你发文章来教? 虽然我们都知道可以直接设置一下,但是如果我们用python,又是怎么解决的呢 电脑手动方式 一般我们让电 ...
最新文章
- 如何删除被锁定的文件(一)他山工具篇 WhoLockMe?
- 命令别名的设置alias,unalias
- 教你用 buildroot 构建根文件系统
- SAP 物料主数据屏幕增强
- jquery实现抽奖系统
- python编程头文件_python头文件怎么写
- 【MyEclips】“Could not create the view: An unexpected exception was thrown”错误解决
- jquery常见操作分享
- 使用ML.NET模型生成器来完成图片性别识别
- 快速学习使用springmvc、strust2、strust1以及它们的对比
- Vmware由于centos升级内核不可运行(C header files matching your running kernel were not found)的解决方案...
- 公有云私有云的区别_私有云 vs. 公有云:谁更安全?
- WinForm高级控件实例--职员信息登记
- 解决 ImportError: No module named ‘pip._internal‘问题
- html代码编辑器jason,JSON 编辑器实现代码
- Paraview源码解析8: vtkPVGlyphFilter类
- 第十二章:如何制定里程碑
- SEO究竟是什么?SEO的相关基础概念介绍
- 强烈质疑第二届Android应用开发中国大学生挑战赛
- 测量三相永磁同步电机的交轴直轴电感