【问题标题】:Added Passpoint not connecting添加 Passpoint 未连接
【发布时间】:2021-08-13 12:33:04
【问题描述】:

我在 Android 11 上的应用中添加了密码配置。 添加工作完美,但无法连接。

我试图获取添加了哪些通行点的列表,但得到了一个空列表。

    val config = PasspointConfiguration()
    config.credential = Credential().apply {
        userCredential = Credential.UserCredential().apply {
            username = "******"
            password =  Base64.getEncoder().encodeToString("*****".toByteArray())
            eapType = 21
            nonEapInnerMethod = "MS-CHAP-V2"
        }
        realm = "merki.local"

        certCredential = null
        caCertificate = myCertificate
        clientPrivateKey = null
        clientCertificateChain = null
    }
    config.homeSp = HomeSp().apply {
        fqdn = "meraki.com"
        friendlyName = "Meraki"
    }
        
    val bundle1 = Bundle()
    bundle1.putParcelableArrayList(EXTRA_WIFI_NETWORK_LIST, suggestionsList)
    val intent = Intent(ACTION_WIFI_ADD_NETWORKS)
    intent.putExtras(bundle1) 
    context.startActivityForResult(intent, 9999)

我得到一个弹出窗口,要求我确认添加,然后我点击确定。

在活动中我有以下内容:

    public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    LOG.d("onActivityResult requestCode= ",requestCode, " resultCode= ", resultCode);
    if (requestCode == 9999){
        if(resultCode == RESULT_OK) {
            // user agreed to save configurations: still need to check individual results
            if (data != null && data.hasExtra(EXTRA_WIFI_NETWORK_RESULT_LIST)) {
                for(int code :  data.getIntegerArrayListExtra(EXTRA_WIFI_NETWORK_RESULT_LIST)) {
                    switch (code) {
                        case ADD_WIFI_RESULT_SUCCESS:
                            List<WifiNetworkSuggestion> passpoints = ((WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE)).getNetworkSuggestions();
                            break;
                        case ADD_WIFI_RESULT_ADD_OR_UPDATE_FAILED:
                            break;
                        case ADD_WIFI_RESULT_ALREADY_EXISTS:
                            break;
                        default:
                            break;
                    }
                }
            }
        } else {
            // User refused to save configurations
        }
    }

}

getNetworkSuggestions() 与 getPasspointConfigurations() 一样返回一个空列表 然而,配置文件确实出现在已保存的网络列表中。

我错过了什么吗?

【问题讨论】:

    标签: android android-networking android-network-security-config


    【解决方案1】:

    从您的代码中,我可以看到您没有将 passpoint 配置添加到您的建议列表中。

    var suggestionList: List<WifiNetworkSuggestion> = ArrayList()
    val suggestion = WifiNetworkSuggestion.Builder()
            .setPasspointConfig(p1)
            .setIsAppInteractionRequired(true) // Optional (Needs location permission)
            .build()
    

    你可以在Blog about passpoint configuration in Android阅读更多关于passpoint配置的信息

    suggestionList.add(suggestion)
    

    然后将此列表添加到您的捆绑包中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-26
      • 2020-06-23
      • 1970-01-01
      • 2022-12-09
      • 2021-11-11
      • 2011-03-20
      • 1970-01-01
      相关资源
      最近更新 更多