启动另一个APP中的Activity

梦想的初衷 提交于 2019-11-30 13:15:36
启动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

 

亲测可用!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!