从backStack中删除活动
我有六项活动。 比方说A,B,C,d,E,P从backStack中删除活动
我想创建这些流动
1)A - >乙 - “ç - > d - >电子移动返回甲< - B < - Visual C < - d < - 电子(DONE)
2)A - >乙 - “ç - > d - - > P
P有两个按钮是和否
如果是 甲< - P(卸下d,C,B从返回堆栈)
如果没有 乙< - P(卸下d,C从返回堆栈)
3)A - >乙 - “ç - > d - >电子 - >点
P有两个按钮是和否
如果有A < - P(卸下E,d,C,B从返回堆栈)
如果没有B < - P(删除E,d,C从堆栈中)
您应该使用FLAG_ACTIVITY_CLEAR_TOP
标志,以你的意图。另外我建议你学习所有的意图标志。 也许你也应该在AndroidManifest.xml您activites A和B设置launchMode
到singleTask
检查了这一点...这里是你可能需要了解活动
之间移动enter link description here的所有信息: https://developer.android.com/guide/components/activities/tasks-and-back-stack.html#Clearing
YourCurrentActivity.this.finish();
Intent intent1 = new Intent(YourCurrentActivity.this,LoginActivity.class);
intent1.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent1);
如果我完成了活动,它将从后台删除,我将无法获得流量1. –
是的,你是对的我只是告诉你可以处理你的活动的方式......当调用finish()方法时你需要它。 –
我应该在哪里在活动p使用该标志,并开始新的活动,但我想回迁这是在回堆栈 –
这就是为什么你应该使用launchMode安卓洗衣机。 chMode =“singleTask”到那些活动 –
singleTask会将A和B活动转移到自己的任务(Separate backStack)中,我将无法实现流程2和3 –