wjc
2 天以前 db937c029a3f9dbaec86cbbc944ebbee3ece13be
app/src/main/java/com/hdl/photovoltaic/utils/AppManagerUtils.java
@@ -1,6 +1,7 @@
package com.hdl.photovoltaic.utils;
import android.app.Activity;
import android.app.ActivityManager;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
@@ -10,6 +11,7 @@
import com.hdl.photovoltaic.widget.LoadingDialog;
import java.util.Iterator;
import java.util.List;
import java.util.Stack;
/**
@@ -113,6 +115,26 @@
    }
    /**
     * Activity是否在顶部
     */
    public boolean existsTopActivity(Class<?>... args) {
        try {
            if (activityStack == null || activityStack.size() == 0) {
                return false;
            }
            final int index = activityStack.size() - 1;
            for (Class<?> cls : args) {
                if (activityStack.get(index).getClass().equals(cls)) {
                    return true;
                }
            }
        } catch (Exception e) {
            return false;
        }
        return false;
    }
    /**
     * 指定一个类名,从指定类名开始移除后面所有Activity
     *
     * @param className   Activity-类名(activity.getClass().getName())
@@ -151,6 +173,25 @@
//        }
    }
    public boolean existsActivity(Context activity, String className) {
        boolean isLoginActivity = false;
        // 获取当前Activity的列表
        ActivityManager activityManager = (ActivityManager) activity.getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningTaskInfo> taskInfo = activityManager.getRunningTasks(1);
        // 遍历Activity列表,判断目标Activity是否在列表中
        for (ActivityManager.RunningTaskInfo info : taskInfo) {
            if (info.topActivity.getClassName().equals("com.hdl.photovoltaic.ui.LoginActivity")) {
                // 目标Activity存在
                // 在这里可以进行相应处理
                isLoginActivity = true;
                break;
            }
        }
        return isLoginActivity;
    }
    /**
     * 结束所有Activity
     */