先写在前面,这说的Settings加载选项是指Settings这个应用显示在主界面的选项,这个修改需要对系统源码进行修改。
创新互联是一家专注于做网站、网站制作与策划设计,威信网站建设哪家好?创新互联做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:威信等地区。威信做网站价格咨询:18982081108Android 7.0 Settings顶部多了一个建议选项,多了个侧边栏,操作更加便捷了。
原生7.0主界面 原生7.0侧边栏
Android 6.0
之前做Android 6.0开发的,都会了解到6.0的Settings加载选项是通过加载dashboard_categories.xml,获取需要显示的选项,并且在SettingsActivity中也进行判断是否要显示,所以在6.0上添加一个选项是比较简单的,直接在dashboard_categories.xml添加icon、title、summary,也可以添加目标fragment和Intent,这样就可以顺利跳转到对应的界面了。但是在7.0上,google对Settings进行了重构。
Android 7.0
7.0的Settings的选项不再从dashboard_categories.xml中加载选项列表,而是通过在Androidmanifest.xml中,配置intent-filter的Action,在通过PackageManager进行指定的Action进行搜索,那么就可以获取到需要显示的选项列表了,并且也需要在代码中进行判断,判断哪些功能需要显示与否。
TileUtils.Java中通过几个Action进行获取系统中对应的activity,如Settings中的几个
private static final String SETTINGS_ACTION ="com.android.settings.action.SETTINGS"; private static final String OPERATOR_SETTINGS ="com.android.settings.OPERATOR_APPLICATION_SETTING"; private static final String OPERATOR_DEFAULT_CATEGORY ="com.android.settings.category.wireless"; private static final String MANUFACTURER_SETTINGS ="com.android.settings.MANUFACTURER_APPLICATION_SETTING"; private static final String MANUFACTURER_DEFAULT_CATEGORY ="com.android.settings.category.device";