BaseApplication.java 1.32 KB

package com.wd.common.base;

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


import com.wd.common.listener.UserActivityLifecycleCallbacks;

import java.util.List;

public class BaseApplication extends Application {
    private final UserActivityLifecycleCallbacks mLifecycleCallbacks = new UserActivityLifecycleCallbacks();

    public static BaseApplication instance;

    @Override
    public void onCreate() {
        super.onCreate();
        instance = this;
        // 注册Activity生命周期监听
        registerActivityLifecycleCallbacks(mLifecycleCallbacks);
    }

    /**
     * 获取一个Application对象
     */
    public static synchronized BaseApplication getInstance() {
        return instance;
    }

    public UserActivityLifecycleCallbacks getLifecycleCallbacks() {
        return mLifecycleCallbacks;
    }

    /**
     * finish所有Activity
     */
    public void finishAllActivity() {
        UserActivityLifecycleCallbacks lifecycleCallbacks = getLifecycleCallbacks();
        if (lifecycleCallbacks == null) {
            return;
        }
        List<Activity> activities = lifecycleCallbacks.getActivityList();
        if (activities == null || activities.isEmpty()) {
            return;
        }
        for (Activity activity : activities) {
            activity.finish();
        }
    }
}