【起航计划 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界面。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。