Android经典完美退出方法,使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(具体实现自己处理,使用LinkedList等)专门负责存储新开启的每一个Activity,并且容易理解、易于操作,非常不错!

AppUtils类(储存每一个Activity,并实现关闭所有Activity的操作)

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.cpic.jscx.android.utils; import android.app.Activity;
import android.app.Application;
import java.util.LinkedList;
import java.util.List; /**
*
* @author user 何问起 hovertree.com
*/
public class AppUtils extends Application{
private List<Activity> activityList = new LinkedList<Activity>();
private static AppUtils instance;
private AppUtils()
{
}
//单例模式中获取唯一的app实例
public static AppUtils getInstance()
{
if(null == instance)
{
instance = new AppUtils();
}
return instance;
}
//添加Activity到容器中 何问起 hovertree.com
public void addActivity(Activity activity)
{
activityList.add(activity);
}
//遍历所有Activity并finish
public void exit()
{
for(Activity activity:activityList)
{
activity.finish();
}
System.exit(0);
}
}

在每一个Activity中的onCreate方法里添加该Activity到AppUtils对象实例容器中
 AppUtils.getInstance().addActivity(this);

public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
AppUtils.getInstance().addActivity(this);
setContentView(R.layout.main);
findViews();
} /* 何问起 hovertree.com */

推荐:http://www.cnblogs.com/roucheng/p/androidjiqiao.html

Android经典完美退出方法的更多相关文章

  1. Android之完美退出方法

    为什么要写这篇文章? 网上有很多种退出方法,可实际上很多方法都不通用(在某个版本下可用,到了另一个版本就不行),或者方法的实际效果根本就和其描述不符(也不知道那些发帖的人测没测试过). 但我们的需求又 ...

  2. Android程序中有多个Activity时的可全部退出方法

    下面是代码.该方法的原理是用一个list记录每次启动的acitivity,在退出时候循环退出改list中保存的acitivity,这样就做到了所有的acitivity完美退出.   先写一个类继承Ap ...

  3. Android 一次退出所有activity的方法

    转自:http://bbs.51cto.com/thread-970933-1.html 因为android的API中没有提供一次性退出的接口所以想要在多activity的程序里面一次性退出的话就要费 ...

  4. 你真的有必要退出吗——再说Android程序的退出功能

    转自你真的有必要退出吗--再说Android程序的退出功能 搞Android开发有一段时间了,相信很多从Windows开发过来的Android程序员都习惯性地会跟我一样遇到过同一个问题:如何彻底退出程 ...

  5. Android中完全退出当前应用系统

    一.将统一管理Activity的类ActivityManager复制到工程里面. package com.jsmtr.www.Helper; import java.util.LinkedList; ...

  6. win10想说爱你不容易——安装.net3.5也是一个坑(已有完美解决方法)

    最终完美解决方法:经过多次波折,终于找到无法正常安装.net3.5的原因了,是因为已删除的用户还有注册表残留导致的,而且这个问题还会影响一个win10更新的安装,导致每天更新失败,撤销更新... 详见 ...

  7. Android 打造完美的侧滑菜单/侧滑View控件

    概述 Android 打造完美的侧滑菜单/侧滑View控件,完全自定义实现,支持左右两个方向弹出,代码高度简洁流畅,兼容性高,控件实用方便. 详细 代码下载:http://www.demodashi. ...

  8. Android程序完全退出

    有几个activity,有一需求是在一个activityA点击back键退出系统而不是跳到之前的activity       首先想到的是清空activityA的堆栈,使用intent.setFlag ...

  9. Android 自定义AlertDialog退出对话框

    Android 自定义AlertDialog退出对话框 转 https://blog.csdn.net/wkh11/article/details/53081634在项目中很多时候会出现点击返回键出现 ...

随机推荐

  1. WKInterfaceImage 无法更新图片的问题

    最近涉及到AppleWatch的相关项目,但有个奇怪问题无法解决,而且无法理解: 根据不同的用户操作,需要修改播放器的专辑图片. 不知道跟我的项目需求是不是有关系:我需要轮询共享空间,以拿取同步数据, ...

  2. 浅谈 SOLID 原则的具体使用

    SOLID 是面向对象设计5大重要原则的首字母缩写,当我们设计类和模块时,遵守 SOLID 原则可以让软件更加健壮和稳定.那么,什么是 SOLID 原则呢?本篇文章我将谈谈 SOLID 原则在软件开发 ...

  3. XCode v8.11 重量级分表分库(无视海量数据)

    XCode天生就有分表分库功能,设计于2005年!历时9年,这是分表分库功能第一次针对性正式更新. 在XCode里面,分表分库非常简单,在操作数据(查询/更新)前修改Meta.ConnName/Met ...

  4. 生成格式化的json

    public static ContentResult returnJson(object obj) { var content = new ContentResult() { Content = J ...

  5. 基础才是重中之重~LazyInitializer.EnsureInitialized对属性实现化的性能优化

    回到目录 LazyInitializer.EnsureInitialized是frameworks4.0引入的新东西,实现对属性延时初始化的功能,它作用在System.Threading命名空间下,所 ...

  6. iOS---类方法(静态方法)和实例方法

    类方法   实例方法是以+开头的方法, 实例方法是用实例对象访问:   类方法的对象是类而不是实例,通常用来创建对象或者工具类.     在实例方法里,根据继承原理发送消息给self和super其实都 ...

  7. JSON学习之二

    1.JSON语法是JavaScript对象表示法的子集,语法规则: **数据在名称/值对中 **数据由逗号分隔 **花括号保存对象 **方括号保存数组 2.JSON名称/值对:JSON数据的书写格式是 ...

  8. 如何用sublime 编写sass

    使用了Sublime Text也有一段时日了,然后在现在而言,小觉的coding工具已经非其莫属了,接着小觉因为近期忙着项目的原因,同时还要抽空编辑博客的原因,就暂时把它放在一旁了,现在偶然想起也就说 ...

  9. @import导入外部样式表与link链入外部样式表的区别

    昨天碰到同事问了一个问题,@impor导入外部样式与link链入外部样式的优先级是怎样的,为什么实验的结果是按照样式表导入后的位置来决定优先级. 今天就这个问题,度娘上找了很久,终于有个总结性的答案出 ...

  10. Android入门(六)碎片

    原文链接:http://www.orlion.ga/493/ 一.碎片 碎片(Fragment)是一种可以嵌入在活动当中的 UI片段,它能让程序更加合理和充分地利用大屏幕的空间,因而在平板上应用的非常 ...