1

当我使用以下代码连接到 8open) WLAN 网络时:

WifiConfiguration wifiConfig = new WifiConfiguration(); 
wifiConfig.BSSID =result.BSSID; // BSSID of detected network
wifiConfig.priority = 1; 
wifiConfig.allowedKeyManagement.set(KeyMgmt.NONE); 
wifiConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP); 
wifiConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN); 
wifiConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); 
wifiConfig.status=WifiConfiguration.Status.ENABLED; 

int netId = scanData.wifiManager.addNetwork(wifiConfig); 
scanData.wifiManager.enableNetwork(netId, true);

...此 WiFi 连接存储在首选网络列表中。所以当我经常尝试时,我会得到一个非常庞大的连接列表——这是我不想要的。

所以我的问题是:我怎样才能暂时建立到 WLAN 网络的连接,而不让 Android 永久存储它?或者有没有办法在不再需要的情况下删除这样的网络?

谢谢!

4

2 回答 2

1

当您断开网络连接时,只需将其从存储列表中删除即可。在此处查看详细信息:在 Android 中,如何通过 Java 清除设置中的 WI-FI 网络列表?

于 2012-11-28T11:35:33.317 回答
0

您可以搜索 wifiConfig 是否已保存,然后在连接之前将其删除:如下所示:

List <WifiConfiguration> wifiConf = wifiManager.getConfiguredNetworks();
int netId;
for(WifiConfiguration wf: wifiConf){
    if(wf.BSSID.equals(desiredBSSID)){
        netId = wf.networkId;
        wifiManager.removeNetwork(netId);
    }
}
于 2016-08-23T03:34:22.683 回答