【问题标题】:WifiManager reconnect returns true but does not connectWifiManager 重新连接返回 true 但未连接
【发布时间】:2015-05-26 11:56:12
【问题描述】:

如果信号足够强,我的应用会创建一个临时连接。不幸的是,Android 不允许多个 WIFI 网络,所以我必须断开当前的网络。当信号变弱时,我想重新连接到前一个。

我将上一个连接的 SSID 存储在 SharedPreference 中,然后使用以下代码:

 for (WifiConfiguration i : list) {
    if (i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
         wifiManager.disconnect();
         wifiManager.enableNetwork(i.networkId, true);
         boolean success = wifiManager.reconnect();
         if (!success) {
            wifiManager.reassociate();
         }
    }
 }

代码正在运行,WifiManger.reconnect(); 返回 true,但我没有连接到之前的网络。

这是我要重新连接的家庭网络的配置:

ID: 10 SSID: ""WLAN.Tele2.net"" BSSID: null FQDN: null REALM: null PRIO: 0
 KeyMgmt: NONE Protocols: WPA RSN
 AuthAlgorithms:
 PairwiseCiphers: TKIP CCMP
 GroupCiphers: WEP40 WEP104 TKIP CCMP
 PSK: 
Enterprise config:
password NULL
subject_match NULL
engine 0
client_cert NULL
ca_cert NULL
anonymous_identity NULL
phase1 NULL
identity NULL
key_id NULL
engine_id NULL
phase2 NULL
sim_slot_id NULL
eap NULL
IP config:
IP assignment: DHCP
Proxy settings: NONE
 autoJoinBSSID=any
triggeredLow: 0 triggeredBad: 0 triggeredNotHigh: 0
ticksLow: 0 ticksBad: 0 ticksNotHigh: 0
triggeredJoin: 0
autoJoinBailedDueToLowRssi: false
autoJoinUseAggressiveJoinAttemptThreshold: 0

【问题讨论】:

    标签: android android-networking


    【解决方案1】:

    错误是引号,因为我已经在 SharedPreferences 中存储了 WifiConfiguration.SSID,这导致了双引号 -> ""WLAN.Tele2.net""

    equals("\"" + networkSSID + "\"")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-01
      • 2021-10-29
      • 1970-01-01
      • 2016-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多