我的应用程序和一些 BroadcastReceiver 中有两个 Activity(A 和 B)。
我遇到了以下场景:
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 被前置?
最佳答案
当您按下主页按钮时,您实际上并没有关闭应用程序(我的意思是它处于暂停状态)并且它处于返回堆栈中,每当您启动同一应用程序的新 Activity 并关闭该 Activity 时,它会弹出顶部 Activity 返回堆栈.. 所以如果你不需要这件事发生那么请尝试下面的代码
@Override
public void onStop() {
if(!isFinishing())
finish();
super.onStop();
}
关于android - 其他 Activity 也被带到前面 StartActivity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25405661/