I am trying to connect to an open wifi network. When I open my app it should turn on wifi and connect to the network defined as below. The problem is that WifiManager.getC
You can not continue the
CMD wifiManager.getConfiguredNetworks()
until the status of WiFi is enabled completely. For enabling the WiFi it need some time. So you need to delay some time.
I also met this question unfortunely.
After searching for some time, I think it is a bug.
This is the android implement of getConfiguredNetworks
public List<WifiConfiguration> getConfiguredNetworks() {
try {
return mService.getConfiguredNetworks();
} catch (RemoteException e) {
return null;
}
}
It is clearly shown that the function will return null if RemoteException happened when running. Up to now, I am also distressed with this and could not get some points to address this issue.
For more information: https://code.google.com/p/android/issues/detail?id=19078
Try to comment these lines in your code.. do you see any change in result set?
wifiManager.setWifiEnabled(true);
wifiManager.addNetwork(conf);
You might want to check the return for wifiManager.addNetwork(conf);
, is it returning -1.
For me this lines return 31 objects only.. no idea why..still hunting for it.
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
List<WifiConfiguration> arraylist = wifiManager.getConfiguredNetworks();
Log.wtf("WifiPreference","No of Networks"+arraylist.size());