关闭

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

标签: Android退出应用关闭项目每个Activit
475人阅读 评论(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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:941149次
    • 积分:16677
    • 等级:
    • 排名:第690名
    • 原创:713篇
    • 转载:316篇
    • 译文:11篇
    • 评论:436条
    联系方式

    我的github




    QQ:2657607916

    QQ讨论群:346618607

    微信:chenyu_920310

    邮箱:2657607916@qq.com

    最新评论