Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android连接到EAP-AKA WiFi_Android_Wifi_Wifimanager - Fatal编程技术网

Android连接到EAP-AKA WiFi

Android连接到EAP-AKA WiFi,android,wifi,wifimanager,Android,Wifi,Wifimanager,我需要一个简单的代码如何从移动应用程序连接到安全的WIFI(EAP-AKA)。我有下面的代码,但我不知道是否正确,也不知道如何使用它。如果有人有示例代码,那就太好了 // Initialize the WifiConfiguration object WifiConfiguration wifi = new WifiConfiguration(); WifiEnterpriseConfig enterpriseConfig = new WifiEnterpriseConfig(); wi

我需要一个简单的代码如何从移动应用程序连接到安全的WIFI(EAP-AKA)。我有下面的代码,但我不知道是否正确,也不知道如何使用它。如果有人有示例代码,那就太好了

  // Initialize the WifiConfiguration object
WifiConfiguration wifi = new WifiConfiguration();


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

我找到了答案,决定把它说出来,也许它对任何人都有帮助

示例代码应用程序可以在我的存储库中找到

代码

// Initialize the WifiConfiguration object
        logThis("attemp to connect\n");
        mProgressView.refreshDrawableState();
        WifiEnterpriseConfig enterpriseConfig = new WifiEnterpriseConfig();
        WifiConfiguration wifi = new WifiConfiguration();
        wifi.SSID = mSSIDView.getText().toString();
        wifi.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_EAP);
        wifi.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.IEEE8021X);
        enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.AKA);
        wifi.enterpriseConfig = enterpriseConfig;

        logThis("finding saved WiFi\n");
        wifi.networkId = ssidToNetworkId(wifi.SSID);

        if (wifi.networkId == -1) {
            logThis("WiFi not found - adding it.\n");
            wifiManager.addNetwork(wifi);
        } else {
            logThis("WiFi found - updating it.\n");
            wifiManager.updateNetwork(wifi);
        }
        logThis("saving config.\n");
        wifiManager.saveConfiguration();

        wifi.networkId = ssidToNetworkId(wifi.SSID);
        logThis("wifi ID in device = " + wifi.networkId + "\n");

        SupplicantState supState;
        int networkIdToConnect = wifi.networkId;
        if (networkIdToConnect >= 0) {
            logThis("Start connecting...\n");

            // We disable the network before connecting, because if this was the last connection before
            // a disconnect(), this will not reconnect.
            wifiManager.disableNetwork(networkIdToConnect);
            wifiManager.enableNetwork(networkIdToConnect, true);


            WifiInfo wifiInfo = wifiManager.getConnectionInfo();
            supState = wifiInfo.getSupplicantState();
            logThis("WifiWizard: Done connect to network : status =  " + supState.toString());
        } else {
            logThis("WifiWizard: cannot connect to network");
        }