首页 > 代码库 > 连接WiFi工具类
连接WiFi工具类
1 public class WifiConnect { 2 3 WifiManager wifiManager; 4 5 // 构造函数 6 public WifiConnect(WifiManager wifiManager) { 7 this.wifiManager = wifiManager; 8 } 9 10 // 提供一个外部接口,传入要连接的无线网11 public boolean Connect(String SSID, String Password, int Type) {12 13 WifiConfiguration wifiConfig = this14 .CreateWifiInfo(SSID, Password, Type);15 16 WifiConfiguration tempConfig = this.IsExsits(SSID);17 if (tempConfig != null) {18 wifiManager.removeNetwork(tempConfig.networkId);19 }20 21 int netID = wifiManager.addNetwork(wifiConfig);22 boolean flag = wifiManager.enableNetwork(netID, true);23 return flag;24 }25 26 // 查看以前是否也配置过这个网络27 private WifiConfiguration IsExsits(String SSID) {28 List<WifiConfiguration> existingConfigs = wifiManager29 .getConfiguredNetworks();30 for (WifiConfiguration existingConfig : existingConfigs) {31 if (existingConfig.SSID.equals("\"" + SSID + "\"")) {32 return existingConfig;33 }34 }35 return null;36 }37 38 // 配置WifiConfiguration39 public WifiConfiguration CreateWifiInfo(String SSID, String Password,40 int Type) {41 WifiConfiguration config = new WifiConfiguration();42 config.allowedAuthAlgorithms.clear();43 config.allowedGroupCiphers.clear();44 config.allowedKeyManagement.clear();45 config.allowedPairwiseCiphers.clear();46 config.allowedProtocols.clear();47 config.SSID = "\"" + SSID + "\"";48 49 WifiConfiguration tempConfig = this.IsExsits(SSID);50 if (tempConfig != null) {51 wifiManager.removeNetwork(tempConfig.networkId);52 }53 54 if (Type == 1) // WIFICIPHER_NOPASS55 {56 config.wepKeys[0] = "";57 config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);58 config.wepTxKeyIndex = 0;59 }60 if (Type == 2) // WIFICIPHER_WEP61 {62 config.hiddenSSID = true;63 config.wepKeys[0] = "\"" + Password + "\"";64 config.allowedAuthAlgorithms65 .set(WifiConfiguration.AuthAlgorithm.SHARED);66 config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);67 config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);68 config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);69 config.allowedGroupCiphers70 .set(WifiConfiguration.GroupCipher.WEP104);71 config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);72 config.wepTxKeyIndex = 0;73 }74 if (Type == 3) // WIFICIPHER_WPA75 {76 config.preSharedKey = "\"" + Password + "\"";77 config.hiddenSSID = true;78 config.allowedAuthAlgorithms79 .set(WifiConfiguration.AuthAlgorithm.OPEN);80 config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);81 config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);82 config.allowedPairwiseCiphers83 .set(WifiConfiguration.PairwiseCipher.TKIP);84 // config.allowedProtocols.set(WifiConfiguration.Protocol.WPA);85 config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);86 config.allowedPairwiseCiphers87 .set(WifiConfiguration.PairwiseCipher.CCMP);88 config.status = WifiConfiguration.Status.ENABLED;89 }90 return config;91 }92 93 }
连接WiFi工具类
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。