wjc
2025-04-09 87cd5df70918e6ba1af849c5f026d3719bfdb1ac
app/src/main/java/com/hdl/photovoltaic/utils/WifiUtils.java
@@ -10,12 +10,14 @@
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.SystemClock;
import android.text.TextUtils;
import android.util.Log;
import androidx.core.app.ActivityCompat;
import com.hdl.photovoltaic.HDLApp;
import com.hdl.photovoltaic.other.HdlLogLogic;
import java.util.ArrayList;
import java.util.List;
@@ -50,18 +52,17 @@
     *
     * @return 返回ssid名称
     */
    public String getCurrentConnectWifiSsid() {
        WifiInfo wifiInfo = this.getCurrentConnectWifiInfo();
        return wifiInfo.getSSID().replace("\"", "");
    }
    /**
     * 获取当前连接的wifi
     *
     * @return wifi信息
     */
    public WifiInfo getCurrentConnectWifiInfo() {
        return (mWifiManager == null) ? null : mWifiManager.getConnectionInfo();
    public MyWifiInfo getCurrentConnectWifiInfo() {
        if (mWifiManager == null) {
            return new MyWifiInfo();
        }
        MyWifiInfo myWifiInfo = new MyWifiInfo();
        try {
            WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
            myWifiInfo.setSSID(wifiInfo.getSSID().replace("\"", ""));
        } catch (Exception ignored) {
        }
        return myWifiInfo;
    }
    /**
@@ -113,17 +114,45 @@
    //获取扫描结果
    public List<ScanResult> getScanResult() {
        List<ScanResult> results = new ArrayList<>();
        List<ScanResult> newResults = new ArrayList<>();
        try {
            if (mWifiManager != null) {
//                mWifiManager.startScan();
//                SystemClock.sleep(1000);
                results = mWifiManager.getScanResults();
                List<ScanResult> results = mWifiManager.getScanResults();
                for (int i = 0; i < results.size(); i++) {
                    ScanResult scanResult = results.get(i);
                    if (scanResult == null || TextUtils.isEmpty(scanResult.SSID)) {
                        continue;
                    }
                    if (!checkRepetition(newResults, scanResult)) {
                        //不存在就添加
                        newResults.add(scanResult);
                    }
                }
            }
        } catch (Exception ex) {
            Log.d("WifiUtils", ex.getMessage());
            HdlLogLogic.print("WifiUtils----->" + ex.getMessage(), false);
        }
        return results;
        return newResults;
    }
    /**
     * 检查列表数据是否重复
     *
     * @param list       源列表数据
     * @param scanResult 被检查对象
     * @return true表示存在,false表示不存在
     */
    public boolean checkRepetition(List<ScanResult> list, ScanResult scanResult) {
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).SSID.equals(scanResult.SSID)) {
                return true;
            }
        }
        return false;
    }
    //获取已经配置好的网络连接