android安全退出所有activity

原创 2016年05月31日 17:58:53
在Android中,如果想退出Android程序,一般都是调用finish()、System.exit(0)、android.os.Process.killProcess(android.os.Process.myPid())等方法来实现退出程序功能,可是在实际开发中,并不能达到完全退出应用程序的效果,这是因为调用finish()、System.exit(0)、android.os.Process.killProcess(android.os.Process.myPid())只能杀死当前的activity,并不能杀死所有的activity,为了完美达到此效果,接下来通过一个案例实现:


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


package com.hrtx.dd.activity;
 
import java.util.LinkedList;
import java.util.List;
 
import android.app.Activity;
import android.app.Application;
 
public class MyApplication extends Application {
    private List activitys = null;
    private static MyApplication instance;
 
    private MyApplication() {
        activitys = new LinkedList();
    }
 
    /**
     * 单例模式中获取唯一的MyApplication实例
     * 
     * @return
     */
    public static MyApplication getInstance() {
        if (null == instance) {
            instance = new MyApplication();
        }
        return instance;
 
    }
 
    // 添加Activity到容器中
    public void addActivity(Activity activity) {
        if (activitys != null && activitys.size() > 0) {
            if(!activitys.contains(activity)){
                activitys.add(activity);
            }
        }else{
            activitys.add(activity);
        }
         
    }
 
    // 遍历所有Activity并finish
    public void exit() {
        if (activitys != null && activitys.size() > 0) {
            for (Activity activity : activitys) {
                activity.finish();
            }
        }
        System.exit(0);
    }
 
}</activity></activity>


二、在每一个Activity中的onCreate方法里添加该Activity到MyApplication对象实例容器中






MyApplication.getInstance().addActivity(this); 
三、在需要结束所有Activity的时候调用exit方法






MyApplication.getInstance().exit();
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android 如何安全的退出多个Activity

博客转载为:http://blog.csdn.net/vipzjyno1/article/details/25423543

Android学习札记40:关于安全退出已创建多个Activity的应用(3)

在一个项目中,要退出 Android 程序,试了 restartPackage、 killBackgroundProcesses 、通过异常并在Application 的子类中重新注册 Thread ...

Android学习札记39:关于安全退出已创建多个Activity的应用(2)

谷歌百度一下,Android 中退出多个 Activity 的方法,大家讨论的很多。 在实习的时候,看到公司的项目退出多个 Activity,是采用 LinkedList 方法,毕业设计的时...

android开发游记:关闭所有Activity安全退出应用的方法总结

在开发中经常会出现这种情况,我们在某一个页面上希望用户关闭应用所有已打开页面,但是当前app已经打开多个页面并且当前所在页面并不是根页面,举个栗子,比如说:用户在修改密码页面修改了密码,成功后我们希望...

Android安全退出多Activity与中止应用程序进程的探索

本文仅针对Android模拟器来进行探索(买不起真机)。 看书时偶尔看到startActivity与startActivityForResult方法比较,想起一个面试题:如何安全退出多个Activit...

Android如何安全退出多个Activity

转载自51jto,感觉还不错 在做Android App的时候,几乎每个App都有一个“退出应用”的功能,如何做到完全退出一个App呢?Google了一些文章,都是都是通过List缓存Act...

安全退出多个Activity

  • 2014-05-13 23:03
  • 1.67MB
  • 下载

Android面试题-如何退出Activity?如何安全退出已调用多个Activity的Application?

Android面试题-如何退出Activity?如何安全退出已调用多个Activity的Application?

Android 如何安全地关闭Activity

方法一:使用缓存1、创建BaseActivity继承ActionBarActivity 2、定义缓存private List mActivities = new LinkedList(); publ...
  • lovoo
  • lovoo
  • 2016-06-19 16:03
  • 498
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)