java从Android应用程序启动两项活动
我有一个应用程序A
,它想在另一个应用程序Activity
中启动一个B
,我没有这个应用程序,也无法编辑它
如果B
已经在运行并且在最近的应用程序中可见,那么使用Intent
执行B
中想要的Activity
是没有问题的
如果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 楼答案
确保你已经为你试图重定向到另一个包的活动设置了
exported="true"
基本上我的想法是当你的第二个Papackage应用离开你需要的时候:
当您启动时,使用标志作为开始新任务: