如何清除Android中的活动堆栈?

时间:2012-06-07 13:28:22

标签: android android-activity stack erase

我正在建立一个披萨订单应用。当用户将项目添加到他的购物车时,他可以选择转到项目类别并浏览/添加新项目。我想做的是:

主屏幕> CategoryList(首次出现)>该类别中的比萨饼>比萨详情>购物车> CategoryList(第二个外观)..

我需要擦除活动堆栈,以便在将项目添加到购物车后,如果用户触摸后退按钮,他/她应该返回到CategoryList(首次出现)。 “必须删除该类别中的比萨饼>比萨饼详情>购物车”。如果他/她再次回来,他/她应该在主屏幕。

我该如何做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);左侧推送最新活动 看到
http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP

然后你清除新活动下的一堆活动。


此外,您可以尝试覆盖后台事件:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        moveTaskToBack(true);
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

另见 Android: Clear Activity Stack 要么 How to clear the Android Stack of activities?