关于android的操作同时启动多个活动

时间:2017-10-25 04:49:08

标签: android android-intent android-activity

当我尝试执行以下代码时:

public class A_activity extends activity {

.........

Intent B = new Intent(this, B_activity.class);

startActivity(B);// B_activity is a progress animation

......

sendBroadcast();// use to finish B_activity

Intent C = new Intent(this, C_activity.class);

startActivity(C);// C_activity is which should be start after B_activity

.........

}

它直接跳转到C_activity,但没有B_activity。完成C_activity后,B_activity启动。这对我来说很困惑,当我跳入C_activity时,如何清除B_activity,或者确保B_activity在C_activity之前开始?

出于某种原因,我必须在A_activity中启动它们,startActivity(B)和startActivity(C)的时间不稳定,可能非常短,如100ms。

2 个答案:

答案 0 :(得分:0)

你不是。当您调用start活动时,它会立即启动。活动B将需要启动活动C,或者您可以在活动B使用startActivityForResult和onActvityResult完成后启动活动C.

答案 1 :(得分:0)

在回答你的问题之前......

使用活动来显示进度指示器是一个可怕的想法。您应该考虑使用AlertDialog而不是它。

现在你想要的答案......

与在单个线程中运行的javascript不同,当你说startActivity(B)时,Android只是告诉ActivityManager启动一个Activity,但它不会阻塞主线程并继续执行以下命令代码,在您的情况下为startActivity(C)

如果您坚持使用B_activity作为进度指示器,则应在onActivityResult中实施A_activity,并在startActivity(C)完成后致电B_Activity

相关问题