【问题标题】:Android: Temporarily connect to WiFi network?Android:暂时连接到 WiFi 网络?
【发布时间】:2016-08-23 11:34:22
【问题描述】:

当我使用此代码连接到 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 永久存储它?或者有没有办法在不再需要时移除这样的网络?

谢谢!

【问题讨论】:

    标签: android wifi


    【解决方案1】:

    当您断开网络连接时,只需将其从存储列表中删除即可。在此处查看详细信息:In Android, How do you clear the WI-FI list of networks in Settings via Java?

    【讨论】:

      【解决方案2】:

      您可以搜索wifiConfig是否已经保存,然后在连接之前将其删除:像这样:

      List <WifiConfiguration> wifiConf = wifiManager.getConfiguredNetworks();
      int netId;
      for(WifiConfiguration wf: wifiConf){
          if(wf.BSSID.equals(desiredBSSID)){
              netId = wf.networkId;
              wifiManager.removeNetwork(netId);
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-20
        • 2021-03-29
        • 2012-03-02
        • 2023-04-04
        • 1970-01-01
        相关资源
        最近更新 更多