1. 添加第三方APK至Settings
不用修改任何Settings源代码!因为Settings已经开放了新增item的功能——Extra_Settings,我们只用修改第三方APK的Manifest即可。放代码如下:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".Iflytek"
android:label="@string/app_name"
android:launchMode="singleInstance" >
<intent-filter>
<action android:name="com.android.settings.action.EXTRA_SETTINGS" />
</intent-filter>
<intent-filter android:priority="1">
<action android:name="com.android.settings.action.SETTINGS" />
</intent-filter>
<meta-data
android:name="com.android.settings.category"
android:value="com.android.settings.category.ia.homepage" />
<meta-data
android:name="com.android.settings.title"
android:value="@string/app_name" />
<meta-data
android:name="com.android.settings.summary"
android:value="@string/app_name" />
<meta-data
android:name="com.android.settings.icon"
android:resource="@mipmap/ic_launcher" />
</activity>
</application>
2. LaunchMode
launchMode定义了Activity的加载模式,总共有以下四种。
a. standard
默认模式,不需要在launchMode配置,每次跳转都会在Activity任务栈中创建该Activity的新实例。
如下图,不管栈中、栈顶是否有该Activity实例,都会重新创建新实例压栈。