WifiManager.getConfiguredNetworks always returns empty list

后端 未结 3 708
暖寄归人
暖寄归人 2021-01-23 14:51

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

相关标签:
3条回答
  • 2021-01-23 15:30

    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.

    0 讨论(0)
  • 2021-01-23 15:37

    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

    0 讨论(0)
  • 2021-01-23 15:39

    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());
    
    0 讨论(0)
提交回复
热议问题