Android 删除特定的堆栈活动

Android 删除特定的堆栈活动,android,activity-stack,Android,Activity Stack,在我的应用程序中,我有一个5个活动的序列,从第二个开始,有重新启动按钮,这应该回到第一个,问题是堆栈仍然存在,这会产生问题,因为用户可以单击“上一步”。清除整个堆栈不是一个选项,因为在这5个堆栈之前有一个活动,如果我清除它,它也会被擦除 使用片段不是一个选项您需要使用单任务启动模式来启动点击重启即可启动的活动 单任务 如果系统中还不存在singleTask活动实例,则会创建一个新实例,并简单地将其放在同一任务的堆栈顶部 但是,如果存在一个活动,则位于该singleTask活动上方的所有活动都将以

在我的应用程序中,我有一个5个活动的序列,从第二个开始,有重新启动按钮,这应该回到第一个,问题是堆栈仍然存在,这会产生问题,因为用户可以单击“上一步”。清除整个堆栈不是一个选项,因为在这5个堆栈之前有一个活动,如果我清除它,它也会被擦除


使用片段不是一个选项

您需要使用
单任务
启动模式来启动点击重启即可启动的活动

单任务

如果系统中还不存在singleTask活动实例,则会创建一个新实例,并简单地将其放在同一任务的堆栈顶部

但是,如果存在一个活动,则位于该
singleTask
活动上方的所有活动都将以适当的方式(触发生命周期)自动、残酷地销毁,以使该活动成为您希望显示在堆栈顶部的活动。同时,将通过可爱的
onNewIntent()
方法向
singleTask活动发送
Intent


因此,您需要将活动条目作为

<activity
    android:name=".YouSecondActivity"
    android:label="singleTask launchMode"
    android:launchMode="singleTask">

在您的清单中尝试
android:noHistory=“true”
intent.addFlags(intent.FLAG\u ACTIVITY\u CLEAR\u TOP | intent.FLAG\u ACTIVITY\u SINGLE\u TOP)
你能解释一下吗?@PankajKumar,第一个活动是一个菜单,当点击一个选项时,它会打开另一个活动,这是一个序列,键入,在这个新的中,我点击它转到另一个,然后点击另一个,它转到下一个,但如果我点击“重启”,它会回到菜单后的第一个,所以我得把其他的都抹掉,别碰菜单,明白吗?