android Q/10 连接到没有互联网的 SSID 时无法解决主机“URL”问题

2023-12-27

我有一些无法访问互联网的 SSID,我正在尝试从 Android 应用程序以编程方式连接它。尽管没有互联网,但我应该使用该 SSID 进行一些 api 调用。下面一切正常安卓Q版本。 Android Q 版本存在一些问题。

我正在使用 Retrofit 进行 https 通信。

我使用 WifiNetworkSpecifier 和 wifi 管理器以编程方式连接到 SSID(无互联网)。

 WifiNetworkSpecifier specifier = new WifiNetworkSpecifier.Builder()
                .setSsid(ssid)
                .setWpa2Passphrase(password)
                .build();

NetworkRequest networkRequest = new NetworkRequest.Builder()
    .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
    .removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
    .addCapability(NetworkCapabilities.NET_CAPABILITY_TRUSTED)
    .setNetworkSpecifier(specifier)
    .build();


    ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
ConnectivityManager.NetworkCallback networkCallback = new ConnectivityManager.NetworkCallback()
   @Override
    public void onAvailable(Network network) {

    }
    @Override
    public void onUnavailable() {
        super.onUnavailable();

    }
    @Override
    public void onLost(Network network) {
    }
};
connectivityManager.requestNetwork(networkRequest, networkCallback, 30000
);

我能够从我的代码成功连接到 wifi 网络。但每次我进行 SSID api 调用时,我都会得到“无法解析主机“URL”。没有与主机名关联的地址“问题在改造 onFailure()打回来。但有趣的是,如果我从手机设置应用程序连接 SSID,我不会看到未知主机异常,并且一切正常。

有人可以帮我吗,在 android Q 中以编程方式连接 SSID 与通过 android 设置连接有什么不同?为了解决这个问题我还需要改变什么?


你无法修复这个问题,这是Android 10中的一个错误,在issueTracker中打开了一个问题,谷歌表示它已修复,但他们没有分享解决方案。 谷歌真丢脸!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android Q/10 连接到没有互联网的 SSID 时无法解决主机“URL”问题 的相关文章

随机推荐