/**
* WIFI管理器
**/
mWiFiManager = new WiFiManager(getApplicationContext());
mWiFiManager.openWiFi();
mWiFiManager.closeWiFi();
mWiFiManager.setOnWifiEnabledListener(this);
/**
* WIFI开关状态的回调
*
* @param enabled true 打开 false 关闭
*/
@Override
public void onWifiEnabled(boolean enabled) {
// 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 扫描结果
*/
@Override
public void onScanResults(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
*/
@Override
public void onWiFiConnectLog(String log) {
Log.i(TAG, "onWiFiConnectLog: " + log);
// TODO
}
/**
* WIFI连接成功的回调
*
* @param SSID 热点名
*/
@Override
public void onWiFiConnectSuccess(String SSID) {
Log.i(TAG, "onWiFiConnectSuccess: [ " + SSID + " ] 连接成功");
// TODO
}
/**
* WIFI连接失败的回调
*
* @param SSID 热点名
*/
@Override
public void onWiFiConnectFailure(String SSID) {
Log.i(TAG, "onWiFiConnectFailure: [ " + SSID + " ] 连接失败");
// TODO
}
mWiFiManager.removeOnWifiConnectListener();
mWiFiManager.disconnectWifi(connectionInfo.getNetworkId());
只能删除自己创建的配置,其他应用生成的配置需要Root权限才可以删除。
mWiFiManager.deleteConfig(wifiConfiguration.networkId);