WiFi 도구 클래스 연결
11948 단어 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 = this
14 .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 = wifiManager
29 .getConfiguredNetworks();
30 for (WifiConfiguration existingConfig : existingConfigs) {
31 if (existingConfig.SSID.equals("\"" + SSID + "\"")) {
32 return existingConfig;
33 }
34 }
35 return null;
36 }
37
38 // WifiConfiguration
39 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_NOPASS
55 {
56 config.wepKeys[0] = "";
57 config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
58 config.wepTxKeyIndex = 0;
59 }
60 if (Type == 2) // WIFICIPHER_WEP
61 {
62 config.hiddenSSID = true;
63 config.wepKeys[0] = "\"" + Password + "\"";
64 config.allowedAuthAlgorithms
65 .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.allowedGroupCiphers
70 .set(WifiConfiguration.GroupCipher.WEP104);
71 config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
72 config.wepTxKeyIndex = 0;
73 }
74 if (Type == 3) // WIFICIPHER_WPA
75 {
76 config.preSharedKey = "\"" + Password + "\"";
77 config.hiddenSSID = true;
78 config.allowedAuthAlgorithms
79 .set(WifiConfiguration.AuthAlgorithm.OPEN);
80 config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
81 config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
82 config.allowedPairwiseCiphers
83 .set(WifiConfiguration.PairwiseCipher.TKIP);
84 // config.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
85 config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
86 config.allowedPairwiseCiphers
87 .set(WifiConfiguration.PairwiseCipher.CCMP);
88 config.status = WifiConfiguration.Status.ENABLED;
89 }
90 return config;
91 }
92
93 }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Lenovo Yoga260 Install Lubuntu이번엔 QT 버전이 아니라 LXDE 버전입니다. 설치 자체에 문제가 없습니다. 누군가를 도울 수 있었으면 좋겠어요. 설치 후 WiFi가 유효한 것처럼 보이지만 드라이버가 없기 때문에 WiFi 기능을 사용할 수 없습니...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.