Platform: RK3568
OS: Android 12
Kernel: v4.19.206
SDK Version:android-12.0-mid-rkr1
需求
该产品不带电池,要移除电池相关的图标和设置选项
实现方法
主要参考了该文章1的方法,我在Android12系统中验证成功
- SystemUI部分的修改,在frameworks/base/目录下,移除了状态栏默认的电池图标,下拉时状态栏的电池图标(带电量百分比显示),还有下拉快捷菜单(Quick Settings tiles)的省电模式图标。
- 测试方法是重新编译并烧录super.img,发现Quick Settings tiles中省电模式图标没有被移除,但是恢复出厂设置全清数据后就不再显示了。
- 还有一点变化是Android11 中的config_statusBarIconBlackList属性在Android12中改为了config_statusBarIconsToExclude,查了下这应该是google为了避免种族歧视而修改了相关表述,他们在这方面的要求还是比较严格的,具体可以查看该链接2
diff --git a/packages/SystemUI/res/layout/quick_qs_status_icons.xml b/packages/SystemUI/res/layout/quick_qs_status_icons.xml
index 5b9ca1b26158..25faf9653820 100644
--- a/packages/SystemUI/res/layout/quick_qs_status_icons.xml
+++ b/packages/SystemUI/res/layout/quick_qs_status_icons.xml
@@ -82,6 +82,7 @@
android:layout_width="0dp"
android:layout_weight="1"
systemui:textAppearance="@style/TextAppearance.QS.Status"
+ android:visibility="gone"
android:paddingEnd="2dp" />
</LinearLayout>
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index c7eda513fabf..4ee84c80c179 100644
--- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml
@@ -99,7 +99,7 @@
<!-- The default tiles to display in QuickSettings -->
<string name="quick_settings_tiles_default" translatable="false">
- internet,bt,flashlight,dnd,alarm,airplane,controls,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle
+ internet,bt,flashlight,dnd,alarm,airplane,controls,wallet,rotation,cast,screenrecord,mictoggle,cameratoggle
</string>
<!-- The minimum number of tiles to display in QuickSettings -->
@@ -107,7 +107,7 @@
<!-- 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,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle,location,hotspot,inversion,saver,dark,work,night,reverse,reduce_brightness
+ internet,bt,flashlight,dnd,alarm,airplane,controls,wallet,rotation,cast,screenrecord,mictoggle,cameratoggle,location,hotspot,inversion,saver,dark,work,night,reverse,reduce_brightness
</string>
<!-- The tiles to display in QuickSettings -->
@@ -537,6 +537,7 @@
<string-array name="config_statusBarIconsToExclude" translatable="false">
<item>@*android:string/status_bar_rotate</item>
<item>@*android:string/status_bar_headset</item>
+ <item>@*android:string/status_bar_battery</item>
</string-array>
- Settings部分的修改,在packages/apps/Settings/目录下,移除了电池的设置选项菜单
diff --git a/res/values/config.xml b/res/values/config.xml
index 9ed7536e5f..6c9575ea1f 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -432,7 +432,7 @@
<bool name="config_show_top_level_accessibility">true</bool>
<!-- Whether top_level_battery should be shown or not. -->
- <bool name="config_show_top_level_battery">true</bool>
+ <bool name="config_show_top_level_battery">false</bool>
<!-- Whether top_level_connected_devices should be shown or not. -->
<bool name="config_show_top_level_connected_devices">true</bool>
欢迎留言讨论,感谢阅读~