从Android应用程序启动两个活动

时间:2014-08-17 10:59:15

标签: java android android-intent android-activity

我有一个应用A,希望在另一个应用Activity中启动B,我不会拥有也无法编辑。

如果B已在最近的应用中运行且可见,那么使用Activity执行B Intent所需的B没有问题。

如果Activity没有运行,我首先使用以下代码执行主String bPackage = "com.example.applicationb"; PackageManager pm = getPackageManager(this); Intent main = pm.getLaunchIntentForPackage(bPackage); Intent wanted = new Intent(); wanted.setPackage(bPackage); wanted.setComponent(new ComponentName(bPackage,bPackage+".WantedActivity")); main.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); wanted.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); wanted.setExtras(mPreviouslyCreatedBundle); startActivity(main); startActivity(wanted); ,然后执行我要执行的代码:

Activity

想要的Intent执行,但几秒钟后我收到一个错误,它就会停止工作。我是以错误的方式设置{{1}}吗?

1 个答案:

答案 0 :(得分:0)

确保您已为要尝试重定向到其他程序包的活动设置exported="true"

基本上我的想法是当你的第二个包装应用程序离开你需要时:

android.os.process.killprocess(android.os.process.mypid())

当你启动use flag作为启动新任务时:

setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);