2

我必须显示接入点列表(没有互联网),然后连接到选定的网络。我能够使用 wifiManager.getScanResults() 获得所有可用的网络网络,然后我过滤了我的首选开放网络并使用 wifiManager.addNetwork(conf) 进行了配置;然后我尝试将首选网络与 wifiManager.enableNetwork(j.networkId , true) 它连接到该网络并再次切换回以前的网络。

1)选定的网络已连接 2)然后在几秒钟后断开连接 3)wifi 连接到先前连接的网络 该行为仅在操作系统高于 7.0 的 Android 设备中观察到。Marsh mellow 及以下设备不切换网络

这是我的代码 1 ) 扫描和配置

if (netType == ConnectivityManager.TYPE_WIFI) {
                //wifiManager = 
    (WifiManager)this.getSystemService(Context.WIFI_SERVICE);
                List<ScanResult> results = wifiManager.getScanResults();
                if (!results.equals(null)) {
                    for (int i = 0; i < results.size(); i++) {
                        ScanResult result = results.get(i);
                        if(result.SSID.toLowerCase().startsWith("XXXX.")) {

                            list.add(result.SSID);
                            conf =new WifiConfiguration();
                            conf.SSID = "\"" + result.SSID + "\"";
                            conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
                            wifiManager.addNetwork(conf);
                        }

                    }

                }

2) 连接首选网络

 if (j.SSID != null && j.SSID.equals("\"" + XXXXXX+ "\"")) {
                            Log.d("Config", "" + j.SSID);
                            wifiManager.disconnect();
                            wifiManager.enableNetwork(j.networkId, true);

                            wifiManager.reconnect();
                            break;

                        }
4

0 回答 0