我的应用程序中有两个活动(A和B),还有一些BroadcastReceiver。
我遇到以下情况:
A正在运行,并使用“主页”按钮已关闭(已调用onStop)。
一段时间后,BroadcastReceiver出于某种意图被触发。它运行以下代码:
Intent activityIntent = new Intent(context,
B.class);
activityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(activityIntent);
B确实开始了,但是A也位于B的后面。如何避免A出现在前面?
最佳答案
当您按下主屏幕按钮时,您实际上并没有关闭该应用程序(我是说它处于暂停状态),而是处于后堆栈中,每当您启动同一应用程序的新活动并关闭该活动时,它就会在后堆栈中弹出顶部活动。因此,如果您不需要这种情况,请尝试执行以下代码
@Override
public void onStop() {
if(!isFinishing())
finish();
super.onStop();
}
关于android - 其他 Activity 也可以在StartActivity上看到,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25405661/