Android 13.0 系统settings系统属性控制一级菜单显示隐藏
1.概述
在13.0的系统rom定制化开发中,系统settings的一级菜单有些在客户需求中需要去掉不显示,所以就需要通过系统属性来控制显示隐藏,
从而达到控制一级菜单的显示的目的,而系统settings是通过静态加载的方式负责显示隐藏,接下来就来实现隐藏显示一级菜单的
功能实现
2.系统Settings一级菜单显示隐藏的核心代码
packages\apps\Settings\src\com\android\settings\homepage\SettingsHomepageActivity.java
packages\apps\Settings\src\com\android\settings\homepage\TopLevelSettings.java
packages\apps\Settings\res\xml\top_level_settings.xml
3.系统Settings一级菜单显示隐藏的核心代码功能分析
Settings主界面Activity使用的是Settings.java,子界面Activity使用的是SubSettings.java,Settings与SubSetting中的内部类都是空Activity(没有重写七大生命周期方法),都继承于SettingsActivity.
从AndroidManifest.xml文件中得知主页面是.homepage.SettingsHomepageActivity。
而在SettingsHomepageActivity的oncreate的方法中,通过相关源码分析得知,在系统settings中负责管理系统菜单的类就是TopLevelSettings.java这个类,
TopLevelSettings继承自抽象类DashboardFragment, 实现抽象方法getPre