在我的Android应用程序中,我连接到WiFi网络。但是,例如,如果我连接到这个网络很多次,这个网络的名称很多次出现在标准的Android WiFi列表中。我怎么能避免这个?
我的代码:
String networkSSID = "test";
String networkPass = "pass";
WifiConfiguration conf = new WifiConfiguration();
conf.SSID = "\"" + networkSSID + "\"";
conf.preSharedKey = "\""+ networkPass +"\"";
WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
wifiManager.addNetwork(conf);
我会尽快添加截图
答案 0 :(得分:6)
如果网络已存在,请勿致电addNetwork
!
您可以通过从WifiManager迭代getConfiguredNetworks
来找到它。
如果网络已存在,只需连接即可。
for (WifiConfiguration config : wifiManager.getConfiguredNetworks()) {
String newSSID = config.SSID;
if (myNetworksSSID.equals(newSSID)) {
wifiManager.disconnect();
wifiManager.enableNetwork(config.networkId, true);
wifiManager.reconnect();
return;
}
}
...
addNetwork(conf); //your old code
答案 1 :(得分:0)
只需扫描列表中的wifi网络名称,如果存在则跳过它。只是一个可能的解决方案而不知道您的代要做到这一点,你需要一个第二个列表来保存到目前为止你发现的内容。