需求:
在设置中,添加一级菜单项,在设备中加入“按键交换”,此项菜单与“显示”并列
由于android 7.0 settings网上资料还没有,此需求在高通技术支持的帮助下加上自己的分析才实现(对高通技术支持小伙表示感谢),实现后发现特别简单,但是实现前一直没头绪,希望记下来能对网友有所帮助
只需实现Activity,写布局文件后,在AndroidManifest.xml中配置即可,配置如下
android:label="@string/hardkey_switch"
android:icon="@drawable/a2_icon_hardkey_switch"
android:taskAffinity="">
android:value="com.android.settings.category.device" />
android:value="com.android.settings.HardKey" />
android:value="true" />
其中HarKey.java是一个Activity文件,直接继承了Activity
设置下的一级菜单必须要有此intent,SettingsActivity文件会根据此filter过滤
android:priority="9"加这个属性不知道是起什么作用,知道的可以留言
此meta表示 菜单项在 device的分类中
android:value="com.android.settings.category.device" />
表示此文件是一个Activity
android:value="com.android.settings.HardKey" />
如果是一个fragment,则用
android:value="com.android.settings.DisplaySettings" />
这个属性也要加,因为其他的菜单项都有(添加新的类似功能时,对比已有功能实现),具体还不知道起什么作用,有知道的可以留言
android:value="true" />
效果图
原图
后续将介绍android 7.0 settings源码流程