启动APP: Intent it = new Intent(); it.setAction("XXXXXXX"); it.putExtras(bundle); it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP ); context.startActivity(it);
被启动App:
<activity android:name=".MsgDetail" android:label="@string/title_activity_msg_detail" android:theme="@style/AppTheme.NoActionBar" android:exported="true" > <intent-filter> <action android:name="XXXXXXX" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
注意:
总结:
1.在Activity上下文之外启动Activity需要给Intent设置FLAG_ACTIVITY_NEW_TASK标志,不然会报异常。
2.加了该标志,如果在同一个应用中进行Activity跳转,不会创建新的Task,只有在不同的应用中跳转才会创建新的Task
亲测可用!