Android应用可以包含,多个Activity,某个Activity可以启动另外的Activity。这些Activity采用栈结构来管理,新打开的Activity叠放在当前的Activity之上,当前的Activity停止运行。当一个Activity停止运行时,Android系统保留其停止前的状态,当用户按下“Back”按键时,栈最上的Activity从栈顶退栈,之前的Activity移到栈顶,显示在屏幕上:
有些时候,当一个Activity启动新的Activity后,不希望把当前Activity保留在Activity栈中,比如在使用Activity实现一个Confirm Dialog时,当用户确认后启动新的Activity,在新Activity显示时按“Back”后退时不希望在显示Confirm Dialog。
示例Fowarding 使用Finish()在启动新Activity同时结束当前Activity。
Intent intent = new Intent();
intent.setClass(Forwarding.this, ForwardTarget.class);
startActivity(intent);
finish();
Finish结束Forwarding Activity,之后按“Back”,则直接退到ApiDemo->Activity 示例列表,而不是Forwarding。