Android(安卓)关于wifi管理的代码
16lz
2022-06-17
开启和关闭wifi的代码
1、需要申请的权限
android.permission.ACCESS_WIFI_STATE
android.permission.CHANGE_WIFI_STATE
android.permission.WAKE_LOCK
2、获取WifiManager
wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
3、开启、关闭wifi
if (wifiManager.isWifiEnabled()) {
wifiManager.setWifiEnabled(false);
} else {
wifiManager.setWifiEnabled(true);
}
Android设置wifi
1.new 一个wificonfiguration对象。
2.设置这个对象的一些属性。
WifiConfiguration wc = new WifiConfiguration();wc.SSID = "\""+sr.SSID+"\""; //<span style="color: rgb(255, 0, 0); ">这个地方一定要注意了。旁边的“是不能够省略的。密码的地方也一样。</span>wc.preSharedKey = "\""+etPassword.getText().toString()+"\""; //该热点的密码wc.hiddenSSID = true;wc.status = WifiConfiguration.Status.ENABLED;wc.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);wc.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
3.判断wifi是否加密: public static int getSecurity(ScanResult result) { if (result.capabilities.contains("WEP")) { return 1; } else if (result.capabilities.contains("PSK")) { return 2; } else if (result.capabilities.contains("EAP")) { return 3; } return 0; }
4.连接未加密wifi连接:
<pre name="code" class="java">WifiConfiguration config = new WifiConfiguration();config.SSID = "\"" + sr.SSID + "\"";config.allowedKeyManagement.set(KeyMgmt.NONE);int networkId = wifiManager.addNetwork(config);if(networkId != -1){ wifiManager.enableNetwork(networkId, false); wifiManager.saveConfiguration();}</pre><p></p><pre></pre><p></p>
更多相关文章
- android 通过handler实现异步处理
- Android不同层次开启硬件加速的方式
- Android对Window对象的管理机制分析
- android 8.0 wifi-host ap 开关操作
- android 模拟按键单值/多值输入
- Android(安卓)中设计模式 ----原型模式
- Android(安卓)Drawable绘图
- Android(安卓)zip文件压缩解压缩
- Android中用到了哪些设计模式?