清除除android中的一个活动外的所有活动
下面我展示了我想如何导航我的清除除android中的一个活动外的所有活动,android,android-activity,Android,Android Activity,下面我展示了我想如何导航我的活动的流程: 我尝试在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返回时,它退出应用程序,而不是
活动的流程:
我尝试在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
(dashbord)
如何解决这个问题?我认为FLAG\u ACTIVITY\u CLEAR\u任务是从堆栈中清除所有活动
要再次从活动B返回到A,而不对现有代码进行任何更改,只需在活动B中使用Override onBackPress()方法,然后在其中启动活动A。我相信您可以通过使用。如果使用此标志发送意图,它将被传递到现有的活动B,堆栈(C、D/E)上B以上的任何活动都将完成
使用将完成堆栈上以前的所有活动,这将使B成为唯一剩余的活动-解释为什么在单击“上一步”时退出应用程序。灰色背景与活动管理无关,表明该活动只是需要一段时间来调用onCreate()
示例代码:
Intent list = new Intent(AddComplaint.this, B.class);
list.setFlags
(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(list);
使用Intent.FLAG\u ACTIVITY\u CLEAR\u TOP。它将重新打开活动B,我们可以继续活动B吗?