每一个activity都有自己的生命周期,被打开了最终就要被关闭。
四种结束当前的activity方法
//关闭当前activity方法一 finish(); //关闭当前界面方法二 android.os.Process.killProcess(android.os.Process.myPid()); //关闭当前界面方法三 System.exit(0); //关闭当前界面方法四 this.onDestroy();
但如果已经启动了四个Activity:A,B,C和D,
在D Activity里,想再启动一个Activity B,但不变成A,B,C,D,B,而是希望是A,B,而且B上的数据依然保留
Intent intent = new Intent(); intent.setClass(TableActivity.this, FrameActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);//设置不要刷新将要跳到的界面 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//它可以关掉所要到的界面中间的activity startActivity(intent);
如果已经启动了四个Activity:A,B,C和D,
在D Activity里,想再启动一个Activity B,但不变成A,B,C,D,B,而是希望是A,B,而且B上的数据不保留
Intent intent = new Intent(); intent.setClass(TableActivity.this, FrameActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//它可以关掉所要到的界面中间的activity startActivity(intent);
如果已经启动了四个Activity:A,B,C和D,在D Activity里,
/想再启动一个 Activity B,但不变成A,B,C,D,B,而是希望是A,C,D,B,则可以像下面写代码:
Intent intent1 = new Intent(TableActivity.this, FrameActivity.class); intent1.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(intent1);
如果已经启动了四个Activity:A,B,C和D,在D Activity里,想要一次性关闭所有的activity
创建一个专门用来处理activity的类
package com.layout; import java.util.LinkedList; import java.util.List; import android.app.Activity; import android.app.Application; /** * 一个类 用来结束所有后台activity * @author Administrator * */ public class SysApplication extends Application { //运用list来保存们每一个activity是关键 private List<Activity> mList = new LinkedList<Activity>(); //为了实现每次使用该类时不创建新的对象而创建的静态对象 private static SysApplication instance; //构造方法 private SysApplication(){} //实例化一次 public synchronized static SysApplication getInstance(){ if (null == instance) { instance = new SysApplication(); } return instance; } // add Activity public void addActivity(Activity activity) { mList.add(activity); } //关闭每一个list内的activity public void exit() { try { for (Activity activity:mList) { if (activity != null) activity.finish(); } } catch (Exception e) { e.printStackTrace(); } finally { System.exit(0); } } //杀进程 public void onLowMemory() { super.onLowMemory(); System.gc(); } }
在每个activity被创建时加上
SysApplication.getInstance().addActivity(this);
将该activity添加到list中去。
当你想关闭时,调用SysApplication的exit方法
//关闭整个程序 SysApplication.getInstance().exit();
相关推荐
详解讲解了 Android开发中的Activity 组件
android开发 广播实现Activity之间数据的交互,简单易懂的demo
Android应用开发多个activity完全退出程序方法,亲测可用
android开发中activity不同启动模式的学习,通过不同的activity启动,会在activity中显示task ID 和Android 实例,方便学习activity的启动模式。
免费资源可以看博客中《Activity之间的数据回传》进行学习 Android开发 猴子摘桃小项目——学习Activity之间的数据回传
[Android开发从零开始].9.Activity高级学习
android activity右进右出动画
第1章 Android开发简介 1.1 Android基本概念 1.1.1 Android简介 1.1.2 Android的系统构架 1.1.3 Android应用程序框架 1.2 OMS介绍 1.2.1 OPhone介绍 1.2.2 Widget介绍 1.3 小结 第2章 Android开发环境搭建 2.1 ...
初中级Android开发社招面试之Activity篇
初中级Android开发社招面试之Activity篇
下面小编就为大家分享一篇Android开发之5.0activity跳转时共享元素的使用方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
android开发中Intent在两个Activity间传值示例
1、新建一个 ExitApplication 类继承Application 2、在你要退出的activity Oncreate方法中加入...3、在你当前要完全退出程序的activity中覆盖onKeyDown方法. 4、当你点击手机的返回按钮时将提示:是否退出系统。
android中activity页面的转换通常需要主要很多方面的细节,在androidmanifest里面需要注册页面之间的节点才能实现页面转换,而这个Androidmanifest并不好找,找到这个页面我们具体要加什么代码也不好弄,本文告诉你...
Android开发—使用ActivityGroup来切换Activity和Layout
Android4.0入门之Activity返回参数: 开发流程梳理: 1.对界面进行布局(在layout目录下配置每个Activity对应的xml) 2.书写Activity类,获取控件、添加时间(新增Activity后,切记到配置Activity文件中去注册) ...
主要讲解Android开发中的Activity
Android 开发Activity基础认识 Activity的启动和跳转并传递参数。
android开发activity跳转,新手学习练手用的