gpt4 book ai didi

android - 在 android 平板电脑中使用 WPA Security 以编程方式设置 wifi

转载 作者:行者123 更新时间:2023-11-29 18:15:28 25 4
gpt4 key购买 nike

我正在尝试在 Android 平板电脑上以编程方式设置 WiFi。如果没有 WiFi 连接,则使用从文本文件中读取的 SSID 和密码添加网络。将此网络添加到网络列表并保存密码。它正在添加网络并保存密码,但是当我尝试连接时,它没有连接。让我知道...

public static void setupWifi(Context _context)
{
if(deviceConfig.wireless_ssid.length()==0) return;

WifiManager wifi = (WifiManager)_context.getSystemService(_context.WIFI_SERVICE);
WifiConfiguration wc = new WifiConfiguration();
wc.SSID = "\"" + deviceConfig.wireless_ssid + "\""; //IMP! This should be in Quotes!!
wc.hiddenSSID = true;
wc.status = WifiConfiguration.Status.ENABLED;
wc.priority = 40;
wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
wc.allowedProtocols.set(WifiConfiguration.Protocol.WPA);

wc.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);

wc.preSharedKey = "\"" + deviceConfig.wireless_passkey + "\"";//

Log.d("ssid : ", wc.SSID );

List<WifiConfiguration> netWorkList = wifi.getConfiguredNetworks();
WifiConfiguration wifiCong = null;

if (netWorkList != null) {
for(WifiConfiguration item:netWorkList) {
if (item.SSID.equalsIgnoreCase("\"" + deviceConfig.wireless_ssid + "\"")) {
wifiCong = item;
}
}
}

if (wifiCong == null) {
boolean res1 = wifi.setWifiEnabled(true);
int res = wifi.addNetwork(wc);
Log.d("WifiPreference", "add Network returned " + res );
boolean b = wifi.enableNetwork(res, true);
Log.d("WifiPreference", "enableNetwork returned " + b );
boolean es = wifi.saveConfiguration();
Log.d("WifiPreference", "saveConfiguration returned " + es );
}
}

谢谢基兰

最佳答案

我也遇到过这个问题。我解决它的方法是手动将 wifi 网络添加到设备。然后,我枚举了配置并复制了设备为成功连接到该网络而添加的值。

澄清一下:

手动添加网络,调用网络管理器以获取配置的网络,找到您的网络,然后从您尝试设置的所有内容中调用 getter - 您将找到您需要的确切配置。

void getWifiConfigs()
{
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
List<WifiConfiguration> networks = wifi.getConfiguredNetworks();
for (WifiConfiguration current : networks){
//check getters here
}
}

关于android - 在 android 平板电脑中使用 WPA Security 以编程方式设置 wifi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8392747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com