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

Bla*_*rai 12 java android wifi wpa android-4.3-jelly-bean

最近,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
Run Code Online (Sandbox Code Playgroud)

无论出于何种原因,都没有建立联系.似乎其他一切都设置正确.如果我遗漏了任何东西,请告诉我,我很乐意添加它.

任何帮助或方向将不胜感激.

blg*_*101 19

您需要设置密钥管理

   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;
Run Code Online (Sandbox Code Playgroud)