Android wifiManager.enableNetwork(j.networkId,true)正在切换回以前的网络

时间:2017-09-22 18:06:59

标签: android network-programming android-wifi wifimanager android-connectivitymanager

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

1)所选网络已连接 2)然后在几秒钟后断开连接 3)wifi连接到先前连接的网络 仅在OS高于7.0的Android设备中才会观察到此行为。沼泽醇厚,设备下方没有切换网络

这是我的代码 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;

                        }

0 个答案:

没有答案