我想按下按钮来清除活动堆栈,但不要留下所有活动。我想将启动器活动留在堆栈中(因此,如果按下后退按钮转到 HomeScreen)。
做:
Intent launch = new Intent(context, LnewActivity.class);
launch.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
清除所有活动,还是将启动器活动留在堆栈中?文档中没有明确说明。
我想按下按钮来清除活动堆栈,但不要留下所有活动。我想将启动器活动留在堆栈中(因此,如果按下后退按钮转到 HomeScreen)。
做:
Intent launch = new Intent(context, LnewActivity.class);
launch.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
清除所有活动,还是将启动器活动留在堆栈中?文档中没有明确说明。
实际上它确实将启动器 Activity 留在了堆栈中!
Intent intent = new Intent(this, Search.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
实际上在堆栈中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);