Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.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
Java 为Android中的双SIM设备配置EAP-SIM_Java_Android_Android Wifi_Wifimanager - Fatal编程技术网

Java 为Android中的双SIM设备配置EAP-SIM

Java 为Android中的双SIM设备配置EAP-SIM,java,android,android-wifi,wifimanager,Java,Android,Android Wifi,Wifimanager,我已尝试为单SIM设备配置EAP-SIM,并成功连接。现在,我想在双SIM设备上配置特定的SIM卡 我的观察是,在单SIM设备中配置EAP时,没有指定SIM标识的规定。那么,如何使用特定的SIM卡配置EAP 为单SIM设备配置EAP-SIM: WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiEnterpriseConfig enterpriseConfig = new Wif

我已尝试为单SIM设备配置EAP-SIM,并成功连接。现在,我想在双SIM设备上配置特定的SIM卡

我的观察是,在单SIM设备中配置EAP时,没有指定SIM标识的规定。那么,如何使用特定的SIM卡配置EAP

为单SIM设备配置EAP-SIM:

    WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    WifiEnterpriseConfig enterpriseConfig = new WifiEnterpriseConfig();
    WifiConfiguration wifiConfig = new WifiConfiguration();
    wifiConfig.SSID = "\"" + ssid + "\"";
    wifiConfig.allowedKeyManagement.set(KeyMgmt.WPA_EAP);
    wifiConfig.allowedKeyManagement.set(KeyMgmt.IEEE8021X);
    enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.SIM);
    wifiConfig.enterpriseConfig = enterpriseConfig;
    int nid = wifi.addNetwork(wifiConfig);
    wifi.saveConfiguration();
    wifi.enableNetwork(nid, true);

这个答案对我帮助很大

这就是使用EAP Sim卡配置Wifi的方式

        private fun getWifiConfigurationForAirtelEAP(ssId: String,sim:String):WifiConfiguration{
            val wifiConfiguration = WifiConfiguration()
            wifiConfiguration.SSID = String.format("\"%s\"", ssId);
            wifiConfiguration.hiddenSSID = false
            wifiConfiguration.BSSID = null

            wifiConfiguration.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN)

            wifiConfiguration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP)
            wifiConfiguration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP)
            wifiConfiguration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104)
            wifiConfiguration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40)

            wifiConfiguration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_EAP)
            wifiConfiguration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.IEEE8021X)

            wifiConfiguration.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP)
            wifiConfiguration.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP)

            wifiConfiguration.allowedProtocols.set(WifiConfiguration.Protocol.RSN)
            wifiConfiguration.allowedProtocols.set(WifiConfiguration.Protocol.WPA)

            wifiConfiguration.enterpriseConfig = getWifiEnterpriseConfig(sim)

            return wifiConfiguration
        }

        private fun getWifiEnterpriseConfig(sim: String): WifiEnterpriseConfig {
            val enterpriseConfig = WifiEnterpriseConfig()
            enterpriseConfig.eapMethod = WifiEnterpriseConfig.Eap.SIM
            enterpriseConfig.anonymousIdentity = "NULL"
            val field = enterpriseConfig.javaClass.getDeclaredField("mFields");
            field.isAccessible =true
            val values = (field.get(enterpriseConfig) as HashMap<String,String>)
            values.put(SIM_NUM,"\""+sim+"\"")
            values.put(CLIENT_CERT,"NULL")
            values.put(KEY_ID,"NULL")
            values.put(ENGINE,"0")
            values.put(ENGINE_ID,"NULL")
            values.put(IDENTITY,"NULL")
            values.put(CA_PATH,"NULL")
            values.put(DOMAIN_SUFFIX_MATCH,"NULL")
            values.put(CA_CERT,"NULL")
            values.put(PASSWORD,"NULL")
            values.put(ANONYMOUS_IDENTITY,"NULL")
            return enterpriseConfig
        }
private fun GetWifiConfiguration for AirTeleAp(ssId:String,sim:String):WifiConfiguration{
val wifiConfiguration=wifiConfiguration()
wifiConfiguration.SSID=String.format(“\%s\”,SSID);
wifiConfiguration.hiddenSSID=false
wifiConfiguration.BSSID=null
wifiConfiguration.allowedAuthAlgorithms.set(wifiConfiguration.AuthAlgorithm.OPEN)
wifiConfiguration.AlloweGroupCiphers.set(wifiConfiguration.GroupCipher.CCMP)
wifiConfiguration.AlloweGroupCiphers.set(wifiConfiguration.GroupCipher.TKIP)
wifiConfiguration.AlloweGroupCiphers.set(wifiConfiguration.GroupCipher.WEP104)
wifiConfiguration.AlloweGroupCiphers.set(wifiConfiguration.GroupCipher.WEP40)
wifiConfiguration.allowedKeyManagement.set(wifiConfiguration.KeyMgmt.WPA\U EAP)
wifiConfiguration.allowedKeyManagement.set(wifiConfiguration.KeyMgmt.IEEE8021X)
wifiConfiguration.allowedPairwiseCiphers.set(wifiConfiguration.PairwiseCipher.CCMP)
wifiConfiguration.allowedPairwiseCiphers.set(wifiConfiguration.PairwiseCipher.TKIP)
wifiConfiguration.allowedProtocols.set(wifiConfiguration.Protocol.RSN)
wifiConfiguration.allowedProtocols.set(wifiConfiguration.Protocol.WPA)
wifiConfiguration.enterpriseConfig=getWifiEnterpriseConfig(sim)
返回线路配置
}
私人娱乐getWifiEnterpriseConfig(sim:String):WifiEnterpriseConfig{
val enterpriseConfig=WifiEnterpriseConfig()
enterpriseConfig.eapMethod=WifiEnterpriseConfig.Eap.SIM
enterpriseConfig.anonymousIdentity=“NULL”
val field=enterpriseConfig.javaClass.getDeclaredField(“mFields”);
field.isAccessible=true
val values=(field.get(enterpriseConfig)作为HashMap)
value.put(SIM\u NUM,“\”+SIM+“\”)
value.put(客户端证书,“空”)
value.put(KEY_ID,“NULL”)
值。put(发动机,“0”)
value.put(引擎ID,“NULL”)
value.put(标识“NULL”)
value.put(CA_路径,“NULL”)
value.put(域后缀匹配,“空”)
value.put(证书“空”)
value.put(密码为“NULL”)
value.put(匿名_标识,“NULL”)
返回企业图
}

您有办法在Android中为双卡设备配置EAP-SIM吗?没有,我无法为双卡设备配置EAP-SIM。您是否尝试将EAP方法设置为AKA@Kishore你找到答案了吗?@Kishore-Hehe我找到了。