工具类:退出应用的时候,关闭所有的Activity

package com.star.app.core.util;

import android.app.Activity;

import java.util.ArrayList;
import java.util.List;

/**
 * 功能: 用来退出应用的时候,关闭所有的Activity
 *
 * @author LQJ
 */
public class ActivityManageUtil {
    private static List<Activity> activities = new ArrayList<Activity>();

    /**
     * Add this activity to the list set. Please use this on the activity's
     * onCreate method.
     *
     * @param activity The activity to be added.
     */
    public static void addActivity(Activity activity) {
        if (activities != null) {
            if (activities.contains(activity)) {
                activities.remove(activity);
            }
            activities.add(activity);
        }
    }

    /**
     * Remove this activity from the list set. On every activity's onDestroy
     * method we all should use this method.
     *
     * @param activity
     */
    public static void removeActivity(Activity activity) {
        if (activities != null && activities.contains(activity)) {
            activities.remove(activity);
        }
    }

    /**
     * Quit this application.
     */
    public static void finishAll() {

        if (activities != null) {
            for (Activity activity : activities) {
                activity.finish();
            }
            activities.clear();
            System.exit(0);
        }

    }

    /**
     * 结束指定的Activity
     */
    public static void finishSingleActivity(Activity activity) {
        if (activity != null && activities != null) {
            if (activities.contains(activity)) {
                activities.remove(activity);
            }
            activity.finish();
        }
    }

    public static void finishSingleActivity(String activityName) {
        Activity tempActivity = null;
        if (activities != null && activityName != null) {
            for (Activity activity : activities) {
                String className = activity.getClass().getSimpleName();
                if (className.equalsIgnoreCase(activityName)){
                    tempActivity = activity;
                    break;
                }
            }
        }
        finishSingleActivity(tempActivity);
    }
}

猜你喜欢

转载自blog.csdn.net/u014748504/article/details/79814337