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

109 阅读1分钟

思路

我们先封装好一个类叫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();