Java 从Android应用程序启动两项活动
我有一个应用程序Java 从Android应用程序启动两项活动,java,android,android-intent,android-activity,Java,Android,Android Intent,Android Activity,我有一个应用程序A,它想在另一个应用程序B中启动一个活动,我没有这个应用程序,也无法编辑它 如果B已在运行且在最近的应用程序中可见,则使用意图执行B的所需活动没有问题 如果B未运行,我首先使用以下代码执行其主要活动,然后执行我要执行的活动: String bPackage = "com.example.applicationb"; PackageManager pm = getPackageManager(this); Intent main = pm.getLaunchIntentForPac
A
,它想在另一个应用程序B
中启动一个活动
,我没有这个应用程序,也无法编辑它
如果B
已在运行且在最近的应用程序中可见,则使用意图执行B
的所需活动
没有问题
如果B
未运行,我首先使用以下代码执行其主要活动
,然后执行我要执行的活动:
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);
想要的活动执行,但几秒钟后我收到一个错误,它停止工作。我是否以错误的方式设置了Intent
s 确保您已为试图重定向到另一个包的活动设置了exported=“true”
基本上,我的想法是当你的第二个Papackage应用离开你需要的时候:
android.os.process.killprocess(android.os.process.mypid())
当您启动时,使用标志作为开始新任务:
setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
请参阅:@KyleEmmanuel我刚刚尝试了RaginMari的答案,结果相同。根据清单,无论是main
还是wanted
活动都有exported=“true”
startActivity(main);星触觉(通缉);将导致一次只能进行一项活动,你可以在这里发布什么erorr?经过一些测试,我发现我的程序,你提出的同样,是正确的。B
应用程序中有一个bug,我将在他们的GitHub上报告这个问题。