Как подключиться к WPA EAP WIFI на Android с 4.3 API

недавно Android добавил возможность подключения к EAP WIFI с API 18 (JellyBean 4.3). Я искал несколько примеров, но не могу найти никаких примеров, и я не могу получить свой код для подключения. Все работает так, как ожидалось, но фактическое соединение, похоже, не работает.

вот что я делаю:

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;