Android - 连接到指定的 wifi 并检查 SSID

Android - Connecting to specified wifi and check SSID

我试图检查手机是否连接到所需的 wifi,不是吗?所以,我使用这个代码。

(wifiInfo.getSSID().equals("WiredSSID"))

但它不起作用。当我尝试制作吐司名称时,它仍然显示 "WiredSSID"。所以,我不知道哪里错了。

此外,如何自动连接到 Captive Portal Wifi。我使用 How do I connect to a specific Wi-Fi network in Android programmatically?

中的代码

将其设为 OPEN 类型 (conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);) 并将其放入 OnCreate 函数中,但它无法工作。我不知道我是否应该更改网络类型?请帮助我,谢谢

String networkSSID = "WiredSSID";
(wifiInfo.getSSID().equals("\"" + networkSSID + "\""))

请注意引号。字符串应在引号中包含 ssid。

您可以尝试使用以下代码片段来检查可用的 wifi 网络并连接到指定的 wifi 网络

         List<ScanResult> wifiScanList = wifi.getScanResults();
         wifis = new String[wifiScanList.size()];

         for(int i = 0; i < wifiScanList.size(); i++){
            wifis[i] = ((wifiScanList.get(i)).SSID);                

            if(wifis[i].equals("WiredSSID")) {

                 WifiConfiguration wifiConfig = new WifiConfiguration();
                 wifiConfig.SSID = String.format("\"%s\"", wifis[i]);
                 wifiConfig.preSharedKey = String.format("\"%s\"", "password");

                 WifiManager wifiManager = (WifiManager)getSystemService(WIFI_SERVICE);
                 //remember id
                 int netId = wifiManager.addNetwork(wifiConfig);
                 wifiManager.disconnect();
                 wifiManager.enableNetwork(netId, true);
                 wifiManager.reconnect();
             }
         }