【起航计划 007】2015 起航计划 Android APIDemo的魔鬼步伐 06 App->Activity->Forwarding Activity启动另外一个Activity finish()方法

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。

            // Here we start the next activity, and then call finish()
            // so that our own will stop running and be removed from the
            // history stack.
            Intent intent = new Intent();
            intent.setClass(Forwarding.this, ForwardTarget.class);
            startActivity(intent);
            finish();

Finish结束Forwarding Activity,之后按“Back”,则直接退到ApiDemo->Activity 示例列表,而不是Forwarding界面。

原文地址:https://www.cnblogs.com/dongdong230/p/4308096.html