关闭

Android之退出应用关闭项目每个Activity的总结

标签: Android退出应用关闭项目每个Activit
521人阅读 评论(0) 收藏 举报
分类:

思路

我们先封装好一个类叫MyApplication这个类,把这个类设置为单例模式,只有一个对象,然后在这个类里面写一个能装Activity的集合,相当于一个栈,然后每次有activity的时候,就去压进栈,当我要退出应用程序的时候,我们就把不为空的Activity都finish()掉,然后再杀死进程。

好了,爆我们的MyApplication这个类的代码
public class MyApplication {
    public static final String TAG = MyApplication.class.getSimpleName();

    private static MyApplication instance = new MyApplication();

    List<Activity> activities = new ArrayList<>(); // 整个应用栈中存在的Activity

    public static MyApplication getInstance() {
        return instance;
    }

    private  MyApplication() {
    }

    // 退出应用
    public void exitApplication(Context mContext) {
        CommonLog.i(mContext.getString(R.string.exit_appliaction));
        for (Activity activity : activities) {
            if (activity != null) {
                activity.finish();
            }
        }
        AppController.getInstance(mContext).getRequestQueue().cancelAll(AppController.COMMON_REQUEST_TAG);
        System.exit(0);
        android.os.Process.killProcess(android.os.Process.myPid());
    }

    public void addToApplicationActivityStack(Activity activity) {
        this.activities.add(activity);
    }
}

在需要继承的Activity里面创建对象
protected MyApplication mMyApplication = MyApplication.getInstance();


每次创建一个Activity的时候在oncreate里面写上
mMyApplication.addToApplicationActivityStack(this);

退出就调用
mMyApplication.exitApplication()




0
0
查看评论

Android 应用程序多Activity跳转之后退出整个程序

在应用中肯定遇到有这样的问题,在应用中在于多的Activity中跳转,这些Activity都存在Activity栈中了。所以按返回键的时候都是一个一个的将原来的Activity弹回。如果我们想捕获到back事件之后直接退出整个程序,就要思考了。特别是2.2之后的安全机制考虑之后。 粘贴点代码,以备...
  • zp522123428
  • zp522123428
  • 2013-01-07 16:34
  • 944

Android中利用广播退出应用的所有activity

所有的activity都继承一个BaseActivity: protected static final String EXIT = "exit_application"; protected static final String EXIT_ACTION = "...
  • cheng9981
  • cheng9981
  • 2016-11-07 22:11
  • 985

Android开发finish()和System.exit(0);的区别

finish是Activity的类,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没有立即释放内存,活动的资源并没有被清理;当调用System.exit(0)时,杀死了整个进程,这时候活动所占的资源也会被释放。 所以想完全退出程序,应该使用System.exit(0)(这...
  • dimudan2015
  • dimudan2015
  • 2017-03-15 09:09
  • 325

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

Android:销毁所有的Activity退出应用程序几种方式 author:DRC工作室  我们都知道,Activity是存放在栈中。在默认的情况下(standard)Activity在栈中是以先进后出、后进先出的方式进行存放。最开始出现的Activity会存在栈底,最新启动的Ac...
  • u013804382
  • u013804382
  • 2016-10-11 16:03
  • 18555

Android退出应用程序的六种方法

当应用不再使用时,通常需要关闭应用,可以使用以下两种方法关闭android应用: 第一种方法:终止当前正在运行的Java虚拟机,导致程序终止 System.exit(0); 或者 Runtime.getRuntime().exit(0); 第二种方法:强制关闭与该包有关联的一切执行...
  • meegomeego
  • meegomeego
  • 2013-04-07 11:10
  • 786

android实现退出时关闭所有activity

来自郭霖《第一行代码》 1、新建ActivityCollector类,代码如下: public static List activities = new ArrayList(); public static void addActivity(Activity activity) { ...
  • u013527937
  • u013527937
  • 2016-07-20 10:31
  • 549

一个面试题引发的思考:Android应用退出时候,关闭所有的Activity

一、概述long long ago ,记得面试的时候,面试官问了我这样一个问题:当Android应用退出的时候,关闭所有的Activity。当时我答出来了一种非主流的做法。现在我总结了三种退出所有Activity的可行方法(应该还有方法,欢迎小伙伴们补充)。分别是: 1.自定义Applicati...
  • liduolp
  • liduolp
  • 2015-09-16 16:08
  • 1416

android中通过adb shell关闭和启动应用

1.终端上: a.首先我们需要来到sdk/adb目录下; b.执行“adb connect 192.168.1.xx”连接到你的设备,‘xx’表示你设备的ip; c.执行“adb shell ps ”查看进程目录; d.找到你要关闭或者打开的应...
  • qq_21983189
  • qq_21983189
  • 2016-11-21 17:54
  • 5312

监听返回键并退出所有Activity示例

下面给出3个简单的Activity,并在它们之间跳转,如果想点击某个Activity的返回键时就退出所有Activity,就只需监听该Activity的返回键即可。所有Activity都存放在一个集合里面,退出应用时,只需遍历该集合并逐一finish掉。代码如下: MyAppalication:存...
  • u010142437
  • u010142437
  • 2013-10-03 00:50
  • 5368

打开一个Activity, 关闭之前所有的Activity.

方法一 :  Intent intent = new Intent(this, LoginActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK)...
  • liangcai_csdn
  • liangcai_csdn
  • 2017-05-02 22:23
  • 2088
    个人资料
    • 访问:1141712次
    • 积分:18578
    • 等级:
    • 排名:第595名
    • 原创:739篇
    • 转载:316篇
    • 译文:11篇
    • 评论:450条
    联系方式

    我的github



    就职:深信服科技

    QQ:2657607916

    QQ讨论群:346618607

    微信:chenyu_920310

    邮箱:2657607916@qq.com

    最新评论