Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从Android应用程序启动两项活动_Java_Android_Android Intent_Android Activity - Fatal编程技术网

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上报告这个问题。