天天看點

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);