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();

如何退出Activity?如何安全退出已调用多个Activity的Application?

如何退出Activity?如何安全退出已调用多个Activity的Application?
  • fumier
  • fumier
  • 2015年08月14日 14:22
  • 2209

实现随时随地一键退出所有Activity

《实现随时随地一键退出所有Activity》现在很多应用都拥有很多界面,然而页面加载多了,退出是一个很头疼的问题启动了多少次界面就需要按多少次返回键,非常的不方便。按Home键虽然吧程序挂起了,但是并...
  • javaswb
  • javaswb
  • 2015年03月05日 17:03
  • 601

从注册流程 分析如何安全退出多个Activity 多种方式(附DEMO)

前言 由于一个同学问到我如何按照一个流程走好之后回到首页,我以前看到过4个解决方案,后来发现有做个记录和总结的必要,就写了这篇博文。(之前看小强也写过一篇,这里通过自身分析完整总结一下以下6种方案,并...
  • vipzjyno1
  • vipzjyno1
  • 2014年05月12日 08:00
  • 12696

Android 如何安全的退出多个Activity

博客转载为:http://blog.csdn.net/vipzjyno1/article/details/25423543
  • ly985557461
  • ly985557461
  • 2014年05月13日 22:57
  • 1679

android实现退出时关闭所有activity

来自郭霖《第一行代码》 1、新建ActivityCollector类,代码如下: public static List activities = new ArrayList(); pu...
  • u013527937
  • u013527937
  • 2016年07月20日 10:31
  • 539

如何安全退出已调用多个 Activity 的 Application?

如何安全退出已调用多个 Activity 的 Application? 记录打开的Activity 每打开一个Activity,就记录下来,在需要退出时,关闭每一个activity。 发送特定的广...
  • a626361893
  • a626361893
  • 2016年07月24日 14:50
  • 2141

杀死全部的Activity,退出当前程序

杀死全部的Activity,退出当前程序 首先说明finish()杀死的只是当前的Activity,并不是全部的Activity   方法一:Dalvik VM的本地方法  1...
  • xjbclz
  • xjbclz
  • 2016年10月23日 15:04
  • 554

一次退出多个Activity的方法

面试的时候多次被问到一次退出多个Activity的方法,其实方法是有多种的,其实主要考对Android机制的理解和运用。我参考各们网友的东西加上自己的思考,觉得有下面几种方法: 1.使用链表把要退出的...
  • xingfeng2010
  • xingfeng2010
  • 2014年04月02日 19:36
  • 2928

退出APP时清空栈里所有activity

退出APP时清空栈里所有activity一、Intent方式 辅助activity,退出时指明跳转到改Activity,启动后立即结束 /** - 退出app时清空栈里的所有activity,辅助a...
  • phomel
  • phomel
  • 2016年11月03日 10:29
  • 903

Android:销毁所有的Activity退出应用程序几种方式

Android:销毁所有的Activity退出应用程序几种方式 author:DRC工作室  我们都知道,Activity是存放在栈中。在默认的情况下(standard)Activity在栈中是...
  • u013804382
  • u013804382
  • 2016年10月11日 16:03
  • 18412
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android安全退出所有activity
举报原因:
原因补充:

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