1

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

做:

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

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

4

2 回答 2

1

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

Intent intent = new Intent(this, Search.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
于 2012-08-03T15:39:16.810 回答
0

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

也许您正在寻找其他标志,例如:

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);

安卓意图

于 2014-01-29T23:22:43.727 回答