Settings中的item大部分都是通过Preference(key)进行添加的,所以要删除某些item只需要在displayPreference()方法中进行removePreference操作即可。
每个单独的item都由独立的PreferenceController进行处理和显示。
例如:去掉设置中声音里面的勿扰功能
路径:vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/notification/ZenModePreferenceController.java
--- a/alps/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/notification/ZenModePreferenceController.java
+++ b/alps/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/notification/ZenModePreferenceController.java
@@ -55,6 +55,8 @@ public class ZenModePreferenceController extends AbstractPreferenceController
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
mSettingObserver = new SettingObserver(screen.findPreference(mKey));
+ // Monkey.20211224 del item KEY_ZEN_MODE
+ screen.removePreference(screen.findPreference(mKey));
}
@Override
在PreferenceController文件中的displayPreference()方法里面去处理key的相关操作。