我想完成我的应用程序调用第一个活动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)
来自javadoc:
如果已设置,并且正在启动的活动已在当前任务中运行,则不会启动该活动的新实例,而是将关闭其上的所有其他活动,并将此Intent传递给(现在开启) top)旧活动作为新的意图.
CLEAR_TOP将消灭所有活动以上 Activity1:如果Activity2低于Activity1那么一旦Activity1完成,你会看到Activity2.
| 归档时间: |
|
| 查看次数: |
3264 次 |
| 最近记录: |