wjc
2025-05-07 b9cc7390e8e8ce64c41c26fb369c98ce669d660c
app/src/main/java/com/hdl/photovoltaic/utils/AppManagerUtils.java
@@ -1,25 +1,17 @@
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;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import com.hdl.photovoltaic.HDLApp;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.widget.LoadingDialog;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
import java.util.Stack;
/**
@@ -109,6 +101,20 @@
    }
    /**
     * 是否存在类名的Activity
     */
    public boolean existsActivity(Class<?>... args) {
        for (Activity activity : activityStack) {
            for (Class<?> cls : args) {
                if (activity.getClass().equals(cls)) {
                    return true;
                }
            }
        }
        return false;
    }
    /**
     * 指定一个类名,从指定类名开始移除后面所有Activity
     *
     * @param className   Activity-类名(activity.getClass().getName())
@@ -147,10 +153,31 @@
//        }
    }
    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
     */
    public void finishAllActivity() {
        if (activityStack == null) {
            return;
        }
        for (int i = 0, size = activityStack.size(); i < size; i++) {
            if (null != activityStack.get(i)) {
                Activity activity = activityStack.get(i);
@@ -183,6 +210,8 @@
    }
    /**
     * 获取LoadingDialog
     *