Android Intent Clear Top无效

时间:2014-08-04 09:24:15

标签: android android-intent

我想点击我的HomeScreenActivity意图并清除堆栈中存活的所有活动,下面是目标代码:

Intent intent = new Intent(activity, HomeScreenActivity.class);
    if (Build.VERSION.SDK_INT >= 11) {
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
    }
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
    startActivity(intent);
    finish();

堆栈未被清除,当我按后退键时,显示所有先前的活动,这不是预期的结果。

请帮忙!

提前致谢。

2 个答案:

答案 0 :(得分:6)

同时使用两个标志:

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);

当第一个标志在当前任务(活动堆栈)中不可用或重新使用现有任务时,它会创建新活动。第二个标志清除与请求的活动相关的任务。

答案 1 :(得分:0)

使用

Intent.FLAG_ACTIVITY_NO_HISTORY