Step 1. Add the JitPack repository to your build file
Add it in your root build.gradle at the end of repositories:
allprojects { repositories { ... maven { url 'https://jitpack.io' } } }
Step 2. Add the dependency
dependencies { compile 'com.github.kongqw:AndroidWiFiManager:1.1.1' }
// 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);