Android_打开多个Activity,返回到第一个Activity

正文

  一、流程截图

    

  二、问题说明

    依次从登录到三级界面,然后退出回到登录界面。

  三、解决办法

    3.1  实现代码

      三级界面调用如下代码:

Intent intent = new Intent(context, LoginView.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        context.startActivity(intent);

    3.2  代码说明

       如果intent对象包含FLAG_ACTIVITY_CLEAR_TOP 标记,当目标task中已存在与接收该intent对象的 activity类型相同的activity实例存在时,所有位于该activity对象上面的activity将被清空,这样接收该intent的 activity就位于栈顶,可以响应到来的intent对象。如果目标activity的运行模式为standard(默认),则目标activtiy也会被清空。因为当运行模式为standard时,总会创建新的activity对象来接收到来的intent对象。

  四、注意问题

    注意查看源代码,Activity在finish的时候会判断一下mParent是否为空。

  五、参考文章

    4.1  Android的Activity和Tasks详解

    4.2  打开多个Activity,返回到第一个Activity

结束

  本文关键在代码说明那部分,看来还是需要系统的对Activity等基础类进行详细的学习才能解决更复杂的问题。

转:http://www.cnblogs.com/over140/category/253648.html

时间: 2024-11-09 18:29:44

Android_打开多个Activity,返回到第一个Activity的相关文章

Android中打开多个Activity,返回到第一个Activity

问题:Android顺序打开多个Activity,如何返回到第一个Activity(一般为首页)? 情形:如 A 打开 B, B 打开 C, C 打开 D, 然后如果从 D 一步返回到 A,并清楚掉 B.C.D呢? 一个很笨的方法是: Intent intent= new Intent(this, 首页Activity.class); startActivity(intent); Android开发过程中肯定会经常遇到要返回首页的情形,google当然想到了这一点,实现起来很简单,只要在打开的最

Android开发中在一个Activity中关闭另一个Activity

Android开发中在一个Activity中关闭另一个Activity 比如有ActivityA, ActivityB,在ActivityB中关闭ActivityA 解决方案: 1. 在 ActivityA 里面设置一个静态的变量instance,初始化为this在 ActivityB 里面, ActivityA.instance.finish(); 2. 也可以通过ActivityManager ActivityManager manager = (ActivityManager)getSys

Android学习路线(十二)Activity生命周期——启动一个Activity

先占个位置,过会儿来翻译,:p Unlike other programming paradigms in which apps are launched with a main()method, the Android system initiates code in an Activity instance by invoking specific callback methods that correspond to specific stages of its lifecycle. Th

在设置了android:parentActivityName后,点击子Activity返回键,父Activity总会调用OnDestroy()的解决方案

最近查了很久这个事情,分享给大家, 原理很简单,一个Activity在manifet里声明了android:parentActivityName:这时候通过Activity左上角的返回按钮点击返回, 启动声明的父Activity,总会先调用父Activity的OnDestroy方法,具体如下面所说: <activity android:name="com.example.helloworld.DisplayMessageActivity" android:label="

android开发之在activity中控制另一个activity的UI更新

转自:http://blog.csdn.net/jason0539/article/details/18075293 第一种方法: 遇到一个问题,需要在一个activity中控制另一个acitivity做一些更新,没想到传递handler的方法,通过以下方式解决. 1.在MyAPP中定义属性handler 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 package jason.com;     import jas

在一个Activity中启动另一个Activity

一.新建一个空的工程 二.添加一个Activity并命名为BAty 三.在activity_main.xml中添加一个按钮,设置id号为btnStartB <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="启动B" android:id="@+id/btnStartB" />

Android在一个Activity中关闭另一个Activity

比如有ActivityA, ActivityB,在ActivityB中关闭ActivityA. 解决方案: 1.在 ActivityA 里面设置一个静态的变量instance,初始化为this,在 ActivityB 里面, ActivityA.instance.finish(); 2.也可以通过ActivityManager ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE); manage

从一个Activity转到另一个Activity

1.MainActivity: Intent intent=new Intent(MainActivity.this,SecondActivity.class);  //Intent 中的参数第一个为相邻的Activity,第二个为要转到的Activity startActivity(intent); 2.  实现跳转并向下一个活动传递数据 MainActivity: String data="this" Intent intent=new Intent(MainActivity.th

【Android笔记】在一个Activity中结束另一个Activity

以在Activity_B中结束Activity_A为例: 1.在Activity_A中定义一个Acitivity的全局静态变量: 1 public static Activity actA; 2.在Activity_A的OnCreate()方法中给Activity_A赋值: 1 actA=this; 3.在Activity_B中,需要结束Activity_A时,调用以下: 1 ActivityA.actA.finish(); 另外也可用广播的方式实现(此处忽略了,需要的自己试下吧) 参考原文:h