在ODM开发过程中,不可避免的需要根据客户的需求所有调整手机的菜单功能等,今天为大家介绍我在实际开发中遇到的问题,客户要求在手机设置-显示-休眠中增加永不暗屏的菜单。具体的整理文件如下:
首先此功能菜单在设置模块,因此它修改的文件地址为:
alps/packages/apps/Settings
修改的文件主要有String.xml 、arrays.xml、以及DisplaySettings.java文件,
下面来看具体的改动处:
1.alps/packages/apps/Settings/res/values/arrays.xml
此文件中增加一个item,同时设置其Value值
<!-- Display settings. The delay in inactivity before the screen is turned off. These are shown in 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>5 minutes</item>
<item>10 minutes</item>
<item>30 minutes</item>
<item>Never timeout</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>300000</item>
<!-- Do not translate. -->
<item>600000</item>
<!-- Do not translate. -->
<item>1800000</item>
<!-- Do not translate. -->
<item>-1</item>
</string-array>
2.alps/packages/apps/Settings/res/values/strings.xml
此文件中增加一个新的字串
<string name="screen_never_timeout">Never timeout</string>
注意:若手机兼容多国言语,则需在不同的value文件中重复上述动作,我的项目语言主要为英语、中文简体、中文繁体,因此任须修改如下路径中的arrays.xml,string.xml文件
alps/packages/apps/Settings/res/values-zh-rCN
alps/packages/apps/Settings/res/values-zh-rTW
同样在arrays.xml中增加相应的item,String.xml中增加相应的显示字串
3.最重要的一步修改,代码逻辑的修改:
alps/packages/apps/Settings/src/com/android/settings/DisplaySettings.java
一、在onPreferenceChange()方法中定义
if (KEY_SCREEN_TIMEOUT.equals(key)) {
try {
int value = Integer.parseInt((String) objValue);
if(value==-1){
value=Integer.MAX_VALUE;
}
Settings.System.putInt(getContentResolver(), SCREEN_OFF_TIMEOUT, value);
updateTimeoutPreferenceDescription(value);
} catch (NumberFormatException e) {
Log.e(TAG, "could not persist screen timeout setting", e);
}
}二、在onCreate()方法给休眠设置时做修改
final long currentTimeout = Settings.System.getLong(resolver, SCREEN_OFF_TIMEOUT,
FALLBACK_SCREEN_TIMEOUT_VALUE);
if(Integer.MAX_VALUE==currentTimeout){
mScreenTimeoutPreference.setValue(String.valueOf(-1));
}else{
mScreenTimeoutPreference.setValue(String.valueOf(currentTimeout));
}
mScreenTimeoutPreference.setOnPreferenceChangeListener(this);
三、在updateTimeoutPreferenceDescription()方法中修改,主要设置summary的显示
private void updateTimeoutPreferenceDescription(long currentTimeout) {
ListPreference preference = mScreenTimeoutPreference;
String summary;
if (currentTimeout < 0||Integer.MAX_VALUE==currentTimeout) {
// Unsupported value
summary = preference.getContext().getString(R.string.screen_never_timeout);
} 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 && timeout>0) {
best = i;
}
}
summary = preference.getContext().getString(R.string.screen_timeout_summary,
entries[best]);
}
}
preference.setSummary(summary);
}四、在updateState()方法中修改
// update screen timeout
if (mScreenTimeoutPreference != null) {
final long screenTimeout = Settings.System.getLong(getContentResolver(), SCREEN_OFF_TIMEOUT,
FALLBACK_SCREEN_TIMEOUT_VALUE);
if(Integer.MAX_VALUE==screenTimeout){
mScreenTimeoutPreference.setValue(String.valueOf(-1));
}else{
mScreenTimeoutPreference.setValue(String.valueOf(screenTimeout));
}
updateTimeoutPreferenceDescription(screenTimeout);
}
之后单遍push之后可做验证,好了本期就我遇到问题分享到这里,谢谢!
相关推荐
安卓投屏到Win11系统全攻略
通过以上步骤,你可以轻松地将安卓设备投屏到Windows 11电脑上,实现跨设备的内容共享和查看。无论是工作汇报、游戏直播还是家庭娱乐,投屏功能都能为你带来更加便捷和高效的体验。希望本文能对你有所帮助,如果你有任何问题或建议,请随时在评论区留言。
android 设置 永不休眠
如果想第一次烧录系统开机就是永不休眠。这个需要修改def_screen_off_timeout = -1,在android 第一次开机的时候会去读取这个值, 在文件SettingsProvider/src/com/android/providers/settings/DatabaseHelper.javaloadIntegerSetting(stmt, Settings.System.SCREEN
android 7/9 设置默认永不休眠和添加永不休眠选项及禁止锁屏
device/qcom/msmxxx/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml <resources> <integer name="def_screen_off_timeout">2147483647</integer> //最大休眠时间 <bool name="def_lockscreen_disabled">true&l...
修改Android10系统源码支持手机永不休眠
一、设置永不休眠简单分析 安卓手机中"设置"应用里面可以设置手机屏幕超时时间。如下图所示:通过选项可以看到最多能设置30分钟,那如果需要永不休眠,只要把屏幕超时时间设置的足够大就可以达到目的,比如Int的最大值。接下来源码中追踪一下"设置"应用中如何实现的。源码中"设置"应用的源码路径如下: packages/apps/Settings 通过对该目录关键字搜索和分析,找到设置屏幕超时的源码文件如下: packages/apps/Settings/src/com/android/settings
设置永不息屏的方案:Mac、iPhone、android
文章目录前言I、 andorid 手机II、iOSIII 、Mac 前言 设置永不息屏的,对于开发者来说在一些应用场景很重要。因此在这里总结下 I、 andorid 手机 OPPO手机设置永不息屏在拨号键输入*#99# 华为手机:设置-开发者选项-开启充电时不会休眠 II、iOS lua代码实现解锁和打开特定app的代码、tweak 实现自动解锁 III 、Mac iOS逆向工具Cliclick:Mac 模拟鼠标点击工具。例子(定时点击特定位置,来点击保证Mac永远处于活跃状态,达到mac永不不关
wsl2 配置ubuntu 固定ip
wsls ubuntu 设置固定ip
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
使用FloodRisk2插件进行洪水风险评估
入汛以来,长江流域持续的强降雨使得沿岸多地成为洪水风险极高地区,抗洪、抢险、救灾继新冠病毒之后成为又一个攻坚阵地。如何科学地评估洪水风险,是快速决策的关键。 实际生活中,根据风险是否可控,一般将洪水风险大致分为两类:一类是通过数据分析可以得出其发生的可能性和后果,如强降雨引发的区域性洪水、水库/大坝溃决洪水等。这类洪水可以通过有关资料分析和设定一定条件计算得到可能的损失后果,也就是说,风险可以预判。另一类洪水风险基本是未知的,如滑坡堵塞河道形成堰塞湖引发的洪水,无法预知事件发生的地点和规模,具体的洪水风险无
Android 13 定制场景 “假待机” 全流程实现方案:从源码到落地
本文提出一种基于Android13的"假待机"方案,针对工业控制终端等场景的低功耗与业务连续性需求。通过修改系统源码实现三大核心功能:1) 采用PARTIAL_WAKE_LOCK保持CPU网络活跃的同时关闭显示功耗;2) 修改AMS源码锁定目标应用为系统核心进程;3) 实现网络配置后自动恢复机制。方案包含完整的源码实现、编译流程和验证方法,实测熄屏功耗降至15-30mA,72小时电量消耗≤30%,解决了传统Android设备在熄屏状态下的业务中断问题,已成功应用于多款工业设备。
模拟IC实战—30天精通Sigma-delta(Σ-Δ) ADC 行为级建模与仿真
本文为模拟IC工程师提供了一套为期30天的Sigma-delta ADC行为级建模与仿真实战指南。文章深入浅出地阐释了Sigma-delta ADC如何通过过采样和噪声整形两大核心技术实现高精度转换,并重点演示了如何使用Python从零搭建一阶和二阶调制器模型,进行性能仿真与关键指标分析,为后续电路级设计提供清晰的性能预算和架构指导。
【学习记录】IIC驱动ICM42670+卡尔曼滤波+四元数姿态角解算
ICM42670陀螺仪可以使用iic驱动,单片机平台使用GD32f305VE。
安卓7.0显示设置界面休眠菜单添加“永不灭屏”选项
1. 打开文件packages/apps/Settings/res/values/arrays.xml,在该文件中添加以下内容 15 seconds 30 seconds 1 minute 2 minutes 5 minutes 10 minutes 30 minu
OpenEvidence DeepConsult深度分析:技术架构、临床应用与行业影响
摘要:医疗AI平台OpenEvidence通过多智能体协作系统重构临床决策流程,解决了医学信息过载难题。其DeepConsult系统严格基于同行评审文献,5-10秒内提供循证决策支持,已覆盖40%美国医生,月咨询量达850万次。该平台采用"免费工具+广告变现"模式,通过调度、检索、摘要等模块化智能体分工,实现从文献分析到临床建议的闭环处理,在USMLE测试中准确率达90%。2025年获7500万美元融资后估值突破10亿美元,成为医疗AI领域的新范式。
专业安卓实时投屏软件:极限投屏(QtScrcpy作者开发)使用说明
基本介绍更多功能还在持续更新。极限投屏下载地址:密码:fmoz。
模型实战(32)之 yolo26 实现对全身关键点数据集 的训练与关键点检测
模型实战(32)之 yolo26 实现对全身关键点数据集 的训练与关键点检测
给跨代引用记一本账:Java GC 的分配路径、卡表写屏障与收集器版图快速回顾
本文把 Java GC 的零散名词串成一条推理链路:从 TLAB 指针碰撞分配、逃逸分析,到 Eden、Survivor 与晋升的四条路,重点拆解卡表与写屏障如何为老年代指向新生代的引用记账,及 Minor GC 如何只扫脏卡。基于 JDK 8 实测:分散写使 Young GC 停顿涨 10~15 倍,条件卡标记消除卡表伪共享,计数循环让 System.gc 等待 2.7 秒,Survivor 过小使晋升量增加约 400 倍。文末梳理 JDK 8 到 27 的收集器演进、选型路径与排查顺序。
易投屏 矩阵投屏 基于 scrcpy投屏软件 开发
易投屏系统是一款用来在电脑上连接管理安卓手机的软件,专为安卓手机批量投屏管理而生,能够大幅提升在电脑上管理安卓手机的操作效率,尤其是在批量操作、自动化操作、远程操作等方面,提升效率显著。易投屏具有流畅稳定,画质清晰,操作便捷,界面简洁等特点,得到业内的一致认可,深受广大用户的喜爱。
JEDEC JESD51-14 瞬态双界面测试方法详解
(瞬态双界面测试方法,用于测量具有单路径热流的半导体器件的结到壳热阻 RθJC,包括结到壳顶部 RθJCT 和结到壳底部 RθJCB)。该标准于 2010 年发布(版本 JESD51-14.1),旨在提供一种准确、可重复的瞬态方法来测量功率半导体器件(如 MOSFET、IGBT)的结到壳热阻(RthJC),取代传统的稳态测量方法(如 MIL-STD-883E METHOD 1012.1)。方法,通过比较两种不同热界面材料(TIM)下的瞬态温度响应曲线,提取 RthJC,而无需直接测量壳温(Tc)。
玩转安卓手机录屏,轻松掌握录屏技巧!
在本文中,我们将详细介绍两种安卓手机录屏的方法,每一种方法都将有详细的步骤和简要的介绍,以帮助你更好地了解和使用这些功能,满足你手机录屏的不同需求。
VB摄像头监控
该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制
锂电池充电器电路设计 里面有电路
锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。
安卓编程基础——菜单
菜单在安卓应用程序中占有比较重要的位置。原生安卓提供了三种类型的菜单:选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和子菜单(SubMenu)。有兴趣的同学可以玩一玩Navigation Drawer(导航抽屉),类似于滑动菜单。
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
Android开发:菜单栏Menu用法讲解
菜单的分类菜单是Android应用中非常重要且常见的组成部分,主要可以分为三类:选项菜单、上下文菜单/上下文操作模式以及弹出菜单。它们的主要区别如下:选项菜单是一个应用的主菜单项,用于放置对应用产生全局影响的操作,如搜索/设置。上下文菜单是用户长按某一元素时出现的浮动菜单。它提供的操作将影响所选内容,主要应用于列表中的每一项元素(如长按列表项弹出删除对话框)。上下文操作模式将在屏幕顶部栏(菜单栏)...
[MSM8953][Android10]下拉菜单增加锁屏按钮
【代码】[MSM8953][Android10]下拉菜单增加锁屏按钮。
android锁屏密码忘了,安卓手机锁屏密码忘记了怎么办
本文章来给大家介绍安卓手机锁屏密码忘记了的几种解决方法总结,有需要了解的朋友可参考参考。解决办法一,刷机1.关机2.同时按住中间那个像房子(HOME键)+声音加键不放+开机键,然后会出现一个带红色警示三角号的机器人,按下HOME键,跳出如下:android system recovery<3e>android system recovery utilityreboot system n...
Android 7.1 导航栏增加按键, 关机菜单增加休眠选项
平台 rk3288 + Android 7.1 需求说明 1. 导航栏增加电源按键, 点击后打开关机菜单 2. 关机菜单项增加休眠项, 点击后进休眠 相关文件 //修改 modified: frameworks/base/core/java/android/view/WindowManagerPolicy.java modified: frameworks/base/core/re...
Android Studio集成Scrcpy实现高效安卓投屏与调试
屏幕镜像技术通过将移动设备画面实时投射到电脑显示器,实现了跨设备视觉同步。其核心原理通常基于视频编码压缩与网络传输协议,在保证画质的同时降低延迟。这项技术的工程价值在于极大提升了开发调试、演示协作和自动化测试的效率,尤其适用于需要大屏展示复杂交互或多人协同的场景。本文聚焦于Android开发环境,深入探讨如何利用Scrcpy这一开源投屏工具,结合ADB调试桥与硬件编码技术,实现低延迟、可交互的安卓手机屏幕镜像。通过将其深度集成到Android Studio IDE中,开发者能够无缝进行UI调试、性能监控与操
1817



被折叠的 条评论
为什么被折叠?



