使用Intent.FLAG_ACTIVITY_CLEAR_TOP调用的活动问题

jul*_*jul 0 android exit

我想完成我的应用程序调用第一个活动Intent.FLAG_ACTIVITY_CLEAR_TOP并完成它.但是,当它完成后,应用程序会自动重启,并直接进入活动2.

为什么?在完成一个名为的活动之后,活动堆栈是不是应该是空的Intent.FLAG_ACTIVITY_CLEAR_TOP

我的堆栈是Activity2>(更多活动)> Activity1.

在Activity2中

Intent exit_intent=new Intent(context, Activity1.class);
exit_intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
exit_intent.putExtra("EXIT", true);
context.startActivity(exit_intent);
Run Code Online (Sandbox Code Playgroud)

在Activity1中

if (getIntent().getBooleanExtra("EXIT", false)) {           
    finish();
}
Run Code Online (Sandbox Code Playgroud)

Fem*_*emi 6

来自javadoc:

如果已设置,并且正在启动的活动已在当前任务中运行,则不会启动该活动的新实例,而是将关闭其上的所有其他活动,并将此Intent传递给(现在开启) top)旧活动作为新的意图.

CLEAR_TOP将消灭所有活动以上 Activity1:如果Activity2低于Activity1那么一旦Activity1完成,你会看到Activity2.