【发布时间】:2016-09-30 10:30:02
【问题描述】:
我正在尝试连接到应用程序启动时无法访问 Internet 的 WiFi 热点(开放网络)。
但是,还有另一个保存的 Wifi 有互联网。当我打开 Wifi 时,它总是自动连接到可以上网的那个。
我已经尝试解决这个问题一周了!但没有任何工作。事实上,我的代码通过互联网与网络断开连接,但没有连接到我想要的网络。这没有意义。
在 WiFi 设置活动中,它显示“未检测到 Internet。不会自动重新连接。”
private boolean tryConnect(WifiManager wifiManager, List<ScanResult> scanResults) {
for (ScanResult scanResult : scanResults) {
Log.d(TAG, "SCAN-RESULT: " + scanResult);
if (scanResult.SSID.toLowerCase().contains(MainActivity.ARDRONE2_HOTSPOT_NAME) && WifiUtilities.getScanResultSecurity(scanResult) == WifiUtilities.NetworkSecurity.OPEN) {
Log.d(TAG, "Trying Connecting to ARDrone2");
WifiConfiguration wifiConfiguration = new WifiConfiguration();
wifiConfiguration.SSID = String.format("\"%s\"", scanResult.SSID);
wifiConfiguration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
wifiConfiguration.priority = Integer.MAX_VALUE - 1;
List<WifiConfiguration> wifiConfigList = wifiManager.getConfiguredNetworks();
int networkId = -1;
for (WifiConfiguration wifiConfig : wifiConfigList) {
if (wifiConfig != null) {
if (wifiConfig.SSID.equals("\"" + scanResult.SSID + "\"")) {
networkId = wifiConfig.networkId;
} else {
wifiManager.disableNetwork(wifiConfig.networkId);
}
}
}
if (networkId == -1) {
networkId = wifiManager.addNetwork(wifiConfiguration);
} else {
networkId = wifiManager.updateNetwork(wifiConfiguration);;
}
wifiManager.saveConfiguration();
wifiManager.disconnect();
wifiManager.enableNetwork(networkId, true);
wifiManager.reconnect();
return true;
}
}
return false;
}
调试日志:“尝试连接到 ARDrone2”出现,但它没有连接!!!
Android, automatically connecting to wifi networks that have no internet access 已在此处提出类似问题,但未提供任何 cmets 或答案。
【问题讨论】:
-
为什么投反对票???!
标签: android