Bạn cần tạo một đối tượng WifiConfiguration
như thế này:
String networkSSID = "test";
String networkPass = "pass";
WifiConfiguration conf = new WifiConfiguration();
conf.SSID = "\"" + networkSSID + "\""; //
Sau đó, đối với mạng WEP bạn cần phải làm điều này:
conf.wepKeys[0] = "\"" + networkPass + "\"";
conf.wepTxKeyIndex = 0;
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
Đối với mạng WPA bạn cần phải thêm cụm từ mật khẩu như thế này:
conf.preSharedKey = "\""+ networkPass +"\"";
Đối với mạng mở bạn cần thực hiện việc này:
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
Sau đó, bạn cần phải thêm nó vào các thiết lập quản lý Wi-Fi Android:
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
wifiManager.add(conf);
Và cuối cùng, bạn có thể cần phải kích hoạt nó, vì vậy Android kết nối với nó:
List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
for (WifiConfiguration i : list) {
if (i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
wm.disconnect();
wm.enableNetwork(i.networkId, true);
wm.reconnect();
break;
}
}
Trong trường hợp WEP, nếu mật khẩu của bạn ở dạng hex, bạn không cần phải bao quanh nó bằng dấu ngoặc kép.
Hãy cẩn thận để giải thích, BẠN có lưu các cài đặt này đến một số địa điểm hoặc có các cài đặt này đã được lưu tại một số vị trí và bạn chỉ muốn tìm chúng? và xin vui lòng chia sẻ những gì bạn đã làm cho đến nay, điều này sẽ giúp trả lời. – Darpan
Các cài đặt này đã được lưu tại một số vị trí và tôi chỉ muốn tìm chúng. –
Kiểm tra điều này cho một vài địa điểm, nghỉ ngơi bạn phải tìm ra với một số trường hợp. http://alt236.blogspot.com/2011/04/android-wifi-password-locations.html – Darpan