Android14原生设置布局与实际显示不符,需屏蔽指定选项
屏蔽Android 14原生设置指定选项的方法
由于Android 14设置中的很多选项是通过动态注册、Feature Flag或系统属性控制的,并非全部写在静态布局文件(如apps.xml)中,因此需要通过以下方式处理:
一、屏蔽“应用”板块的“Cloud Media app”
修改系统配置/Feature Flag
云媒体相关设置通常由系统Feature控制,找到对应配置项修改:- 打开
packages/apps/Settings/res/values/config.xml或frameworks/base/core/res/res/values/config.xml; - 查找类似
<bool name="config_enableCloudMediaAppSettings">true</bool>的条目,将值改为false; - 重新编译系统或推送修改后的资源文件到设备。
- 打开
修改Settings源码过滤选项
在Settings的应用管理逻辑中(如PackagesFragment或相关类),找到加载Cloud Media设置项的代码,添加判断跳过该选项。例如:// 示例代码,需根据实际源码调整 if (entry.getKey().equals("cloud_media_app_settings")) { return; // 跳过加载该选项 }ADB命令禁用(需Root权限)
通过禁用对应设置组件隐藏选项:adb shell pm disable-user --user 0 com.android.settings/.cloudmedia.CloudMediaAppSettingsActivity若组件名不符,可通过
adb shell dumpsys activity | grep cloud查找准确组件名。
二、屏蔽“声音和振动”板块的“Live Caption”
修改系统配置/Feature Flag
Live Caption的显示由全局配置控制:- 打开
frameworks/base/core/res/res/values/config.xml; - 找到
<bool name="config_enableLiveCaption">true</bool>,改为false; - 重新编译或推送资源文件。
- 打开
修改Settings源码移除选项
在声音设置的SoundSettings类中,找到注册LiveCaptionPreferenceController的代码,注释掉或移除该控制器的注册逻辑,即可不再加载Live Caption选项。ADB命令禁用(需Root权限)
直接禁用Live Caption的设置组件或核心服务:# 禁用设置入口 adb shell pm disable-user --user 0 com.android.settings/.accessibility.LiveCaptionSettingsActivity # 或禁用核心服务(彻底关闭功能) adb shell pm disable-user --user 0 com.google.android.accessibility.livecaption
注意事项
- 所有源码修改操作需要基于Android开源项目(AOSP)编译定制ROM;
- 不同厂商定制的Android系统可能会修改组件名或配置项,需以对应版本的实际源码为准;
- ADB命令操作需要设备已解锁Bootloader并获取Root权限。
内容的提问来源于stack exchange,提问作者9102fun
相关产品推荐
相关产品推荐

