/*** WIFI管理器**/mWiFiManager = newWiFiManager(getApplicationContext());mWiFiManager.openWiFi();mWiFiManager.closeWiFi();mWiFiManager.setOnWifiEnabledListener(this);/** * WIFI开关状态的回调 * * @param enabled true 打开 false 关闭 */@OverridepublicvoidonWifiEnabled(booleanenabled) {
// TODO
}mWiFiManager.removeOnWifiEnabledListener();List<ScanResult> scanResults = mWiFiManager.getScanResults();mWiFiManager.getSecurityMode(scanResult)注意:Android 6.0需要动态获取 Manifest.permission.ACCESS_FINE_LOCATION 或 Manifest.permission.ACCESS_COARSE_LOCATION 后,才能正常获取到WIFI列表。
mWiFiManager.setOnWifiScanResultsListener(this);/** * WIFI列表刷新后的回调 * * @param scanResults 扫描结果 */@OverridepublicvoidonScanResults(List<ScanResult> scanResults) {
// TODO
}mWiFiManager.getScanResults(); 是返回当前的WIFI列表,回调返回的是扫描更新以后新的WIFI列表。
mWiFiManager.removeOnWifiScanResultsListener();mWiFiManager.connectOpenNetwork(scanResult.SSID);mWiFiManager.connectWPA2Network(scanResult.SSID, password);mWiFiManager.connectWEPNetwork(scanResult.SSID, password);mWiFiManager.setOnWifiConnectListener(this);/** * WIFI连接的Log得回调 * * @param log log */@OverridepublicvoidonWiFiConnectLog(Stringlog) {
Log.i(TAG, "onWiFiConnectLog: " + log);
// TODO
}
/** * WIFI连接成功的回调 * * @param SSID 热点名 */@OverridepublicvoidonWiFiConnectSuccess(StringSSID) {
Log.i(TAG, "onWiFiConnectSuccess: [ " + SSID + " ] 连接成功");
// TODO
}
/** * WIFI连接失败的回调 * * @param SSID 热点名 */@OverridepublicvoidonWiFiConnectFailure(StringSSID) {
Log.i(TAG, "onWiFiConnectFailure: [ " + SSID + " ] 连接失败");
// TODO
}mWiFiManager.removeOnWifiConnectListener();mWiFiManager.disconnectWifi(connectionInfo.getNetworkId());只能删除自己创建的配置,其他应用生成的配置需要Root权限才可以删除。
mWiFiManager.deleteConfig(wifiConfiguration.networkId);