2015-05-26 3 views
4

Мое приложение создает adhoc-соединение, если сигнал достаточно сильный. К сожалению, Android не разрешает несколько сетей WIFI, поэтому я должен отключить текущий. Когда сигнал становится слабым, я хочу снова подключиться к предыдущему.WifiManager reconnect возвращает true, но не подключается

я хранить идентификатор 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(); возвращает истинное, но я не подключен к предыдущей сети.

Это конфигурация моей домашней сети, которую я хочу, чтобы восстановить:

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 

ответ

0

Неисправности была цитатами, так как я уже сохраненным WifiConfiguration.SSID в моих SharedPreferences это вылилось в двойных кавычках -> «» WLAN .Tele2.net ""

equals("\"" + networkSSID + "\"") 
Смежные вопросы