无法以编程方式连接到Android中的WIFI网络

时间:2018-11-30 13:05:59

标签: android wifi android-8.0-oreo wifimanager wificonfiguration

我有一个具有自己的wifi接入点的硬件设备。当我使用我的App连接到该设备时,它会尝试与此连接几秒钟,然后重新连接回以前的网络。但是通过电话设置(默认WIFI设置),我可以连接到该设备。

当我使用默认的WIFI设置忘记了所有保存的网络时,便可以使用我的应用程序成功连接到该设备的网络。这是我要连接的代码:

WifiManager wifiManager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
WifiConfiguration conf = new WifiConfiguration();
if (networkPass.isEmpty()) {
    conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
}
conf.SSID = String.format("\"%s\"",networkSSID);
wifiManager.addNetwork(conf);

List<WifiConfiguration> listOfConf = wifiManager.getConfiguredNetworks();
for (WifiConfiguration mConf : listOfConf) {
    if (mConf.SSID != null && mConf.SSID.equals("\"" + networkSSID + "\"")) {
        wifiManager.disconnect();
        wifiManager.enableNetwork(mConf.networkId, true);
        wifiManager.reconnect();
        break;
    }
}    

即使Android设备已连接到另一个wifi网络,我也想连接到该设备的wifi网络。特别适用于Android Oreo和Nougat。

0 个答案:

没有答案