下面我展示了我想如何导航我的Activities
的流程:
我尝试在 D
和 E
中编写以下代码:
Intent list = new Intent(AddComplaint.this, B.class);
list.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(list);
但是,我面临着两个问题:
- 当
B
启动时,它会显示一段时间的灰色屏幕,然后加载。 - 当我从
B
返回时,它退出应用程序而不是转到A
(仪表板)。
我该如何解决这个问题?
最佳答案
我相信你可以通过使用 FLAG_ACTIVITY_CLEAR_TOP 来实现你想要的。 .如果您使用此标志发送 Intent,它将被传递到现有的 Activity B,并且堆栈上 B 之上的任何 Activity(C、D/E)都将完成。
使用 FLAG_ACTIVITY_CLEAR_TASK将完成堆栈上的所有先前 Activity ,这将使 B 成为唯一剩余的 Activity - 解释为什么单击返回时退出应用程序。您的灰色背景与 Activity 管理无关,表示 Activity 只是需要一段时间来调用 onCreate()。
示例代码:
Intent list = new Intent(AddComplaint.this, B.class);
list.setFlags
(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(list);
关于android - 清除除 android 中的一个以外的所有 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37224662/