Android 系统 settings 中添加外部调用接口

MasterClearConfirm 是系统“settings”应用已存在的类,用于向用户确认清除全部数据。以下是添加可被外部调用的“清除手机全部数据”示例。

settings 应用中更改

  • AndroidManifest.xml

            <activity android:name=".Settings$MasterClearConfirmActivity"
                android:label="@string/master_clear_final_button_text"
                android:icon="@drawable/ic_settings_about">
                <intent-filter>
                    <action android:name="com.android.settings.action.MASTER_CLEAR_CONFIRM" />
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
                <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                    android:value="com.android.settings.MasterClearConfirm"/>
            </activity>
    

    action.MASTER_CLEAR_CONFIRM, 是自定义的动作,用于外部调用。

    category.DEFAULT 是必须的,否则出错。

  • Settings.java

   public static class MasterClearConfirmActivity extends SettingsActivity {}
  • SettingsGateway.java

    ENTRY_FRAGMENTS 数组中加入:

    MasterClearConfirm.class.getName(),

未加入会导致找不到 Fragment

外部应用调用

startActivity(new Intent(com.android.settings.action.MASTER_CLEAR_CONFIRM));
posted @ 2021-12-17 17:02  攻城狮-洪  阅读(27)  评论(0)    收藏  举报