App退出后,退出所有的Activity

转载 2016年05月31日 20:50:52

在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<Activity> activitys = null;
    private static MyApplication instance;
 
    private MyApplication() {
        activitys = new LinkedList<Activity>();
    }
 
    /**
     * 单例模式中获取唯一的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中的onCreate方法里添加该Activity到MyApplication对象实例容器中

MyApplication.getInstance().addActivity(this);

                

三、在需要结束所有Activity的时候调用exit方法

MyApplication.getInstance().exit(); 

 

一键退出一个app中所有activity

这几天在Android的开发过程中遇到了这么样一个问题,当App中拥有多个Activity时,如A,B,C三个。 在A->B后,若想在B中直接退出APP,调用System.exit(0)或者an...
  • s495205
  • s495205
  • 2013年05月27日 14:32
  • 1947

统一管理Activity,响应app退出

之前,在Activitity中通过按键2次退出应用,

Activity基类广播退出APP

定义一个android基类退出app Activity基类: package com.mayi.close_activity_by_broadcast.base; import androi...

实现app全局activity右滑退出

在公司项目中使用了一个侧滑的开源项目com.jeremyfeinstein.slidingmenu.lib,一直没有时间研究,只是知道大概的用法。但“会用”一直不是我最终的追求!于是趁着项目刚上线的空...

安卓完美退出App以及跨界面关闭Activity

在安卓项目中,当有多个App时,通过StarActivity方法带参数可以在另一个Activity可以将前一个Activity关闭掉,但是有一个局限,就是跳转了多个Activity之后,就尴尬了,不能...

Android 完全退出 App,Activity管理者 (Exit)

Android 完全退出 App,Activity管理者 (Exit)今天还看到有人对app退出感到苦恼,因此分享下自己的经验。我在项目中会建立一个activity的管理者ActControl,管理所...

android 完全退出app,退出所有activity

在编写android代码的时候,发现system.exit(0)调用后,如果还存在activity,则会导致程序杀死重启,出现很多问题。 找了很多网上的解决方案都不是很好,不够优雅。 于是自己实现...

activity 退出

  • 2015年10月09日 12:53
  • 2.17MB
  • 下载

侧滑退出activity

  • 2016年07月08日 14:53
  • 6.19MB
  • 下载

Android四大组件——Activity跳转动画、淡出淡入、滑出滑入、自定义退出进入

挖掘系统中的Activity跳转动画 前言: 系统中有两个定义好的Activity跳转动画:fade_in、fade_out、slide_in_left、slide_out_right 其...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:App退出后,退出所有的Activity
举报原因:
原因补充:

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