標籤:wifi 串連 密碼
項目開發中經常會用到Wifi串連
Wifi串連分兩種情況有密碼和無密碼
一下兩種方法分別是串連有密碼和無密碼的方法
經過小米2S和三星平板驗證
//串連有密碼的Wifi
private void connectToWifi(String SSID, String key) {
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiConfiguration wc = new WifiConfiguration();
wc.SSID = "\"" + SSID + "\""; // wifi名稱
wc.preSharedKey = "\"" + key + "\""; // wifi密碼
wc.hiddenSSID = true;
wc.status = WifiConfiguration.Status.ENABLED;
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.RSN);
int res = wifi.addNetwork(wc);
boolean b = wifi.enableNetwork(res, false);
}
//串連無密碼的Wifi
// 串連Wifi
private void connectToWifi(String SSID) {
WifiConfiguration config = new WifiConfiguration();
config.allowedAuthAlgorithms.clear();
config.allowedGroupCiphers.clear();
config.allowedKeyManagement.clear();
config.allowedPairwiseCiphers.clear();
config.allowedProtocols.clear();
config.SSID = "\"" + SSID + "\"";
//這個好像不太穩定,之前可以串連有密碼的,現在又不行了,不清楚是什麼原因
// config.wepKeys[0] = password; // 這裡要注釋掉 因為串連的是沒有密碼的Wifi
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
config.wepTxKeyIndex = 0;
WifiManager wifiManager = (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
wifiManager.enableNetwork(wifiManager.addNetwork(config), true);
}
本文出自 “爬過山見過海” 部落格,請務必保留此出處http://670176656.blog.51cto.com/4500575/1431527