在Android开发中,如何结束整个应用程序


原文链接: 在Android开发中,如何结束整个应用程序

我想做一个,点击按钮:关闭应用。就可以,结束整个,应用程序的功能。 北风某尸 和 班长小崔给提供了两种解决方案,仔细想想,都有道理!然后,参考了网上的一些代码,成功的将整个应用程序关闭。

解决思路:

1、建立List集合,将所有的Acitivty 都存进,集合里——private List activityList = new LinkedList();

2、结束整个应用程序时,将遍历集合,将Activity 逐个 kill 。

下面是具体实现代码:

[java] view plain copy
print?在CODE上查看代码片派生到我的代码片

package com.zwhy.networktest;

import java.util.LinkedList;
import java.util.List;

import android.app.Activity;
import android.app.Application;

public class ActivityManager extends Application {
    //建立链表集合
    private List<Activity> activityList = new LinkedList<Activity>();

    //用单例模式,保证,这个ActivityManager 在整个应用中只有一个
    private static ActivityManager instance;

    private ActivityManager() {

    }

    public static ActivityManager getInstance() {
        if (instance == null) {
            instance = new ActivityManager();
        }
        return instance;
    }

    //向链表中,添加Activity
    public void addActivity(Activity activity) {
        activityList.add(activity);
    }

    //结束整个应用程序
    public void exit() {

        //遍历 链表,依次杀掉各个Activity
        for (Activity activity : activityList) {
            if (!activity.isFinishing()) {
                activity.finish();
            }
        }
        //杀掉,这个应用程序的进程,释放 内存
        int id = android.os.Process.myPid();
        if (id != 0) {
            android.os.Process.killProcess(id);
        }
    }
}

具体使用的时候,需要,在每一个Activity中,获取 ActivityManager 的实例,然后,将Activity,添加到,List 中。

1、获取 ActivityManager 的实例对象:

ActivityManager exitM = ActivityManager.getInstance();

2、添加各个 Activity

exitM.addActivity(MainActivity.this);

关闭整个应用程序的时候,只需要,最后一句:

exitM.exit();

便可 大功告成!

`