提示:删除下拉状态栏的省电模式和钱包
文章目录
一、需求
去掉下拉框 钱包、省电模式。
**场景:**产品都是定制化产品,客户实际基本国内产品、走电商形式。 没有钱包一说,用电模式先不管是否有省电模式一说。受众群体没有这个习惯,机器定制化过程中可能也没有这个功能。
**搞清楚需要解决哪些问题:**去除哪些UI:如下



小结:
所以,需要改得有哪些呢? 三个方面:
SystemUI下拉显示- 系统设置里面 搜索索引
- 系统设置-电池界面-去掉省电模式
二、参考资料
很早之前的一篇记录,删除SystemUI WIFI模块,就是去WIFI模块里面有相关参考资料,其实核心逻辑一模一样,修改地方其实都一致,有一定的参考价值。
三、修改文件-实现方案
修改文件
\frameworks\base\packages\SystemUI\res\values\config.xml
/packages/apps/Settings/res/xml/power_usage_summary.xml
/packages/apps/Settings/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java
实现方案
SystemUI 去钱包-省电模式
SystemUI
相关知识,务必做到基本流程了解、概念、架构、布局,方便实现基础功能和理解业务修改。
参考资料:截屏功能添加中的SystemUI基础描述 Android系统去掉WIFI模块
熟悉了SystemUI后,这个需求就简单了,在QS面板里面不添加不就行了吗。找到QSTitle 默认配置的地方
\frameworks\base\packages\SystemUI\res\values\config.xml
<string name="quick_settings_tiles_default" translatable="false">
internet,bt,flashlight,dnd,alarm,airplane,controls,rotation,cast,screenrecord,mictoggle,cameratoggle,custom(com.android.permissioncontroller/.permission.service.v33.SafetyCenterQsTileService)
</string>
<!-- delete wallet ,battery -->
<!-- Tiles native to System UI. Order should match "quick_settings_tiles_default" -->
<string name="quick_settings_tiles_stock" translatable="false">
internet,bt,flashlight,dnd,alarm,airplane,controls,rotation,cast,screenrecord,mictoggle,cameratoggle,location,hotspot,inversion,saver,dark,work,night,reverse,reduce_brightness,qr_code_scanner,onehanded,color_correction,dream,font_scaling,record_issue,hearing_devices
</string>
<!-- delete wallet ,battery -->
设置-去省电模式
这里其实有两处地方需要修改,ITEM 去除和搜索索引去除
去除ITEM 省电模式
找对应的界面-省电模式
如下,进入界面,查看界面Fragment


查看关联的布局,如下;
@Override
protected int getPreferenceScreenResId() {
return R.xml.power_usage_summary;
}
布局-power_usage_summary-去除item 项
从源码看,大概设这里

验证title: battery_saver,那就是 省电模式

直接屏蔽这部分代码如下:
<!-- <Preference
android:fragment="com.android.settings.fuelgauge.batterysaver.BatterySaverSettings"
android:key="battery_saver_summary"
android:title="@string/battery_saver"
settings:keywords="@string/keywords_battery_saver"
settings:controller="com.android.settings.fuelgauge.BatterySaverController" />-->
去除索引搜索项目
这里就直接找 对应的Fragment,如下的fragment :
注意: 虽然 我们索引中 - 省电模式 点击跳转到如下 PowerUsageSummary,但是实际索引的编码是哪个,是item 对应的Fragment ,所以:实际去掉索引的应该是 BatterySaverSettings

修改如下:屏蔽索引 即可

四、实际效果查看



总结
根据这个需求实现,这里其实要掌握三个知识点:
- SystemUI 去除 item ,也就是去除 quickTitle 的方法,去配置文件中直接去掉即可。
- 系统设置,去掉某一个item ,常规思路要明确,大部分静态配置item 就是这么干的。
- 不分涉及到索引的,知道如何去掉搜索的索引。
678

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



