1.概述
在13.0的系統rom定制化開發中,系統settings的一級菜單有些在客戶需求中需要去掉不顯示,所以就需要通過系統屬性來控制顯示隱藏,
從而達到控制一級菜單的顯示的目的,而系統settings是通過靜態加載的方式負責顯示隱藏,接下來就來實現隱藏顯示一級菜單的
功能實現
2.系統Settings一級菜單顯示隱藏的核心代碼
packages\apps\Settings\src\com\android\settings\homepage\SettingsHomepageActivity.javapackages\apps\Settings\src\com\android\settings\homepage\TopLevelSettings.javapackages\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