1.wifiManager.getScanResults()返回空或0
添加权限
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Android6.0以上需要打开定位权限。
或者修改targetSdkVersion的值小于Android6.0。
2.wifiManager.addNetwork返回-1.
进行如下判断
//判断wifi曾经是不是连接过 WifiConfiguration tempConfig = isExist(ssid); if (tempConfig != null) { wifiManager.enableNetwork(tempConfig.networkId, true); } else { int connectedNetworkId = wifiManager.getConnectionInfo().getNetworkId(); wifiManager.disableNetwork(connectedNetworkId); int netId = wifiManager.addNetwork(getWifiConfig(ssid, pws, true)); System.out.println("------netId---------" + netId); wifiManager.enableNetwork(netId, true); }