如何使用 4.3 API 在 Android 上连接 WPA_EAP WIFI

Posted

技术标签:

【中文标题】如何使用 4.3 API 在 Android 上连接 WPA_EAP WIFI【英文标题】:How to connect to WPA_EAP WIFI on Android with 4.3 API 【发布时间】:2013-10-10 19:18:54 【问题描述】:

最近,android 添加了使用 API 18 (JellyBean 4.3) 连接到 EAP WIFI 的功能。我已经寻找了许多示例,但找不到任何示例,并且我无法连接我的代码。一切似乎都按预期工作,但实际连接似乎不起作用。

这是我正在做的事情:

Log.d( "WiFi", "adding network via Android Enterprise Config with SSID: " + ssid );
                    WifiEnterpriseConfig enterpriseConfig = new WifiEnterpriseConfig(); 
                    wifiConfig = new WifiConfiguration();
                    wifiConfig.SSID = ssid; 

                    enterpriseConfig.setIdentity(userName);
                    enterpriseConfig.setPassword(passWord);
                    enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.PEAP); 
                    wifiConfig.enterpriseConfig = enterpriseConfig;
                    Log.i("WIFI", "My wifi"+ wifiConfig.status); 
                    networkId = wfm.addNetwork(wifiConfig);

                    wfm.enableNetwork(networkId, true); // this initiates the connection

无论出于何种原因,都没有建立连接。看来其他所有设置都正确。如果我遗漏了任何内容,请告诉我,我会很乐意添加它。

任何帮助或指导将不胜感激。

【问题讨论】:

【参考方案1】:

您需要设置密钥管理

   WifiEnterpriseConfig enterpriseConfig = new WifiEnterpriseConfig(); 
   wifiConfig = new WifiConfiguration();
   wifiConfig.SSID = ssid; 
   wifiConfig.allowedKeyManagement.set(KeyMgmt.WPA_EAP);
   wifiConfig.allowedKeyManagement.set(KeyMgmt.IEEE8021X);
   enterpriseConfig.setIdentity(userName);
   enterpriseConfig.setPassword(passWord);
   enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.PEAP); 
   wifiConfig.enterpriseConfig = enterpriseConfig;

【讨论】:

@Blaine 你能用上面的代码连接到 EAP 吗?我可以保存配置但无法连接。 @sankar 是的,我正要使用它进行连接。但是您还必须使用我上面的代码。将两者结合起来进行连接。 我们可以对sim类型的eap使用相同的吗?

以上是关于如何使用 4.3 API 在 Android 上连接 WPA_EAP WIFI的主要内容,如果未能解决你的问题,请参考以下文章

在 android 4.3 api 18 上更改 ActionBarActivity 的主题

在 Termux Android 上连接到 MariaDB 服务器

在 Android Studio 上连接到 GitLab 存储库

无法使用 angular-js 在 Visual Studio 2013 上连接到 localdb

如何在 android 4.3 中集成 paypal?

setPluginsEnabled(true) 谁知道android的4.3之后为什么会报错