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

思路

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




阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011068702/article/details/49914593
个人分类: Andriod 积累
上一篇UML类图几种关系的总结
下一篇栈和队列之设计一个有getMin(得到最小值)功能的栈
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭