How To Auto Connect A Wifi With Specified Ssid?
Solution 1:
I think you need to add a WifiConfiguration.KeyMgmt
to your WifiConfiguration object. Assuming it's an open network:
wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
Also, be cautious in assuming that scan results are available immediately upon exit of your call to startScan()
. The best bet in this case is to add a BroadcastReceiver on WifiManager.SCAN_RESULTS_AVAILABLE_ACTION
and add to it all of your code from mWifi.getScanResults()
forward. You will need to add a call to mWifi.reconnect()
once you get enableNetwork()
to succeed.
As for initializing your WifiConfiguration wc
, I'd love it if you'd consider my post here. Finally, another good answer is here.
Solution 2:
try adding remaining information about the network such as allowed ciphers, key Mangement scheme and the PSK (if you are using one)
Secondly check in the configured networks list first to make sure that you don't try to add another network with the same configuration as there is not point doing that.
As a recommendation don't startScan() and wait for it finish. Register for SCAN_RESULTS_AVAILABLE_ACTION
and use a callback from the broadcast receiver to your activity to process those results.
Post a Comment for "How To Auto Connect A Wifi With Specified Ssid?"