Android清除活动堆栈并保留启动器活动

时间:2012-08-03 09:58:47

标签: android android-intent stack clear

我希望按下按钮清除活动堆栈,但不要留下所有活动。我想将启动器活动留在堆栈中(因此,如果按下后退按钮转到HomeScreen)。

是否:

Intent launch = new Intent(context, LnewActivity.class);
launch.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

清除所有活动,还是将启动器活动留在堆栈中?文档中没有明确说明。

2 个答案:

答案 0 :(得分:0)

实际上它确实将启动器Activity留在了堆栈中!

Intent intent = new Intent(this, Search.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

答案 1 :(得分:0)

实际上Intent.FLAG_ACTIVITY_CLEAR_TOP会在堆栈中搜索已经创建的Activity实例,并将所有Activities关闭到此页面。如果堆栈中没有它的实例,它将不会清除任何内容。

也许你正在寻找其他标志:

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);

Android Intent