如何避免在标准的Android WiFi列表中复制WiFi网络?

时间:2013-12-12 10:48:39

标签: android wifi

在我的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);

我会尽快添加截图

2 个答案:

答案 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网络名称,如果存在则跳过它。只是一个可能的解决方案而不知道您的代要做到这一点,你需要一个第二个列表来保存到目前为止你发现的内容。