Newer
Older
dxcgt / app / src / main / java / com / smartdot / cgt / activity / MyApplication.java
wangxitong on 6 Apr 2021 2 KB first commit
package com.smartdot.cgt.activity;

/**
 * Created by W530 on 2019/11/14.
 */
import java.util.LinkedList;
import java.util.List;

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

public class MyApplication extends Application {
    private List<Activity> activitys = null;
    private static MyApplication instance;

    private MyApplication() {
        activitys = new LinkedList<Activity>();
    }

    /**
     * 单例模式中获取唯一的MyApplication实例
     *
     * @return
     */
    public static MyApplication getInstance() {
        if (null == instance) {
            instance = new MyApplication();
        }
        return instance;

    }

    // 添加Activity到容器中
    public void addActivity(Activity activity) {
        if (activitys != null && activitys.size() > 0) {
            if(!activitys.contains(activity)){
                activitys.add(activity);
            }
        }else{
            activitys.add(activity);
        }

    }

    // 遍历所有Activity并finish
    public void exit() {
        if (activitys != null && activitys.size() > 0) {
            for (Activity activity : activitys) {
                activity.finish();
            }
        }
        System.exit(0);
    }

    public void closeAllbutMain() {
        if (activitys != null && activitys.size() > 0) {
            for (Activity activity : activitys) {
                if(!activity.getLocalClassName().equals("activity.FrmMain")){
                    activity.finish();
                }
            }

        }
    }
    public void closeAllbutMail() {
        if (activitys != null && activitys.size() > 0) {
            for (Activity activity : activitys) {
                if(!activity.getLocalClassName().equals("activity.FrmMain")&&!activity.getLocalClassName().equals("activity.FrmMailList")){
                    activity.finish();
                }
            }

        }
    }
    public void closeAllbutUser() {
        if (activitys != null && activitys.size() > 0) {
            for (Activity activity : activitys) {
                if(!activity.getLocalClassName().equals("activity.FrmMain")&&!activity.getLocalClassName().equals("activity.UserInfoActivity")){
                    activity.finish();
                }
            }

        }
    }
}