需求:
在設定中,添加一級菜單項,在裝置中加入“按鍵交換”,此項菜單與“顯示”并列
由于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" />
效果圖
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yNxQDZkRDOyMzM0MTYwcjMzE2YwkTNihTYjljY4EDOw8CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
原圖
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yNxQDZkRDOyMzM0MTYwcjMzE2YwkTNihTYjljY4EDOw8CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
後續将介紹android 7.0 settings源碼流程