Android 7.0之後在Settings裏添加item選項

若要app在settings裏面添加一個開關選項,從Android7.0開始咱們只須要在AndroidManifest裏面簡單設置便可。java

本文提供的是Android 7.1.1設備上運行的效果圖android

先來一張效果圖:網絡

 

 

完成以上功能的兩個關鍵點:app

1. AndroidManifest的設置:less

<activity android:name=".HardKey"
            android:taskAffinity=""
            android:label="@string/app_name"
            android:icon="@drawable/ic_accessibility_generic">

            <intent-filter android:priority="7">
                <action android:name ="com.android.settings.MANUFACTURER_APPLICATION_SETTING"/>
            </intent-filter>

        <meta-data android:name="com.android.settings.category"
            android:value="com.android.settings.category.system" />

        <meta-data android:name="com.android.settings.ACTIVITY_ACTION"
            android:value="com.android.settings.HardKey" />
            <meta-data android:name="com.android.settings.icon"
                android:resource="@drawable/ic_accessibility_generic" />

        </activity>

  action 必定是 com.android.settings.MANUFACTURER_APPLICATION_SETTINGspa

<meta-data android:name="com.android.settings.category"
            android:value="com.android.settings.category.system" />
這裏表示要把該Item放在Settings下面的「系統」這個大類下。
在Android 7.0上從Settings的源碼能夠看到有以下四個分類: 無線和網絡, 設備, 我的, 系統,這些分類一樣適用於Android8.0設備上。
<string name="category_key_wireless">com.android.settings.category.wireless</string>
<string name="category_key_device">com.android.settings.category.device</string>
<string name="category_key_personal">com.android.settings.category.personal</string>
<string name="category_key_system">com.android.settings.category.system</string>

 

HardKey 繼承於Activity 就是一個簡單展現頁面的類,點擊該item能夠展現一個頁面。code

2.這個應用的apk必定要用系統簽名。blog

這些配置僅限於item展現在Settings的一級頁面,二級頁面咱們仍然須要改動Settings的源碼才能夠添加進去Item。
相關文章
相關標籤/搜索