【发布时间】:2012-10-14 17:09:25
【问题描述】:
我想在启动新的 Activity 意图时清除后台堆栈。
我的问题的确切情况如下: 我有这样的活动 A > B > C > D > E “A”是注册活动,“B”是确认注册活动。我希望当用户开始活动“B”时他不能再回到活动“A”,当用户到达活动“C”时,活动“A”和“B”都将没用,我不需要用户不再回到他们身边。
此外,当用户从“C”移动到活动“D”时,他可以返回到“C”,但如果他进一步移动到“E”活动,他将无法返回到之前的任何“C”或“D”活动。
经过大量研究,我得到的最好的方法是使用标志:FLAG_ACTIVITY_NO_HISTORY,但是对于我的情况有两个问题:
- 在活动“A”中,如果用户离开我的应用程序(例如转到主屏幕),它会破坏该活动,因此用户输入的所有信息都会丢失!
- 如果用户导航到“D”活动但当用户移动到“E”活动时我想将其删除,我希望将其保留在历史记录中(backstack)。
目前我还没有找到解决这个问题的方法,我认为如果有一些东西可以清除当前任务的后台堆栈会更容易!
我的最低 SDK 支持是 5。
提前致谢。
【问题讨论】:
标签: android