範例 在 Setting 里加入 HiApk Settings 選項

1.首先用 ApkTool 反編譯 Setting.apk,打開 \res\xml\settings.xml,能夠看到Settings選項都在裏面定義了,在但願加入的地方添加android

<com.android.settings.IconPreferenceScreen android:title="@string/hiapk_settings" android:key="hiapk_settings" settings:icon="@drawable/ic_cyanogenmod">        
        <intent android:targetPackage="com.menethil.hiapk.settings"android:targetClass="com.menethil.hiapk.settings.HiapkSettings" />
</com.android.settings.IconPreferenceScreen>

其中 android:title="@string/hiapk_settings" 是顯示的標題索引名,settings:icon="@drawable/ic_cyanogenmod" 爲圖標索引名spa

<intent android:targetPackage="com.menethil.hiapk.settings" android:targetClass="com.menethil.hiapk.settings.HiapkSettings" />

爲設定要啓動的包名和Activity,能夠用 ApkTool 反編譯要啓動的程序,而後打開 AndroidManifest.xml 查code

看 package="com.android.settings" 就是包名,至於啓動的Activity,只要找到orm

<category android:name="android.intent.category.LAUNCHER" />

往上找他所屬的Activity,能夠看到相似xml

<activity android:label="@string/settings_label" android:name="Settings" android:taskAffinity="com.android.settings" android:clearTaskOnLaunch="true" android:launchMode="singleTop">

其中 android:name="Settings" ,Settings就是Activity名,加上包名就是 com.android.settings.Settings,也就是咱們須要的 android:targetClass 的值。

2.在drawable中放入 settings:icon="@drawable/ic_cyanogenmod" 所定義的圖標,名稱必須是跟定義的一致,例如這裏定義爲 ic_cyanogenmod ,放入圖標名字就必須是 ic_cyanogenmod.png

3.打開 /res/values/string.xml 和 /res/values-zh-rCN/string.xml ,/res/values-zh-rTW/string.xml ,在其中加入 android:title="@string/hiapk_settings" 定義的字符串的值,以中文 values-zh-rCN 爲例:
索引

<string name="hiapk_settings">高級設置</string>

4.從新打包 apk,簽名,收工。ci

相關文章
相關標籤/搜索