Android 10 requestNetwork() 显示指定网络的时间太长

Android 10 requestNetwork() takes too long displaying specified network

我正在尝试将我的 Android 10 设备连接到 WiFi 网络。我正在使用 WiFiNetworkSpecifier API 来描述我想要连接的网络属性。连接正常,但我经常看到向用户显示的提示花费的时间太长(从 2 到 28 秒)无法显示我用 WifiNetworkSpecifier 对象描述的网络。

这是我的代码(它与此处链接的 Google 示例相同 -> https://developer.android.com/guide/topics/connectivity/wifi-bootstrap

ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkRequest networkRequest = new NetworkRequest.Builder()
                .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
                .removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
                .setNetworkSpecifier(
                        new WifiNetworkSpecifier.Builder()
                                .setSsid(SSID)
                                .setWpa2Passphrase(psw)
                                .build()
                )
                .build();

            networkCallback = new ConnectivityManager.NetworkCallback() {
               @Override
               public void onAvailable(@NonNull Network network) {
                   if (WiFiCoordinator.this.listner != null){
                       WiFiCoordinator.this.listner.onConnected();
                   }

                   cm.bindProcessToNetwork(network);
               }

               @Override
               public void onUnavailable() {
                   super.onUnavailable();
                   listner.onTestNetworkNotAvailable();
               }
            };
            cm.requestNetwork(networkRequest, networkCallback);

连接没有问题,但是 OS 寻找请求的网络所花费的时间对我来说并不合适。我的代码有问题吗?

非常感谢

通过对比实验发现Android11和Android9

一样可以工作

我猜这是 Android 10 错误。对比Android11和Android10的代码,我们发现请求网络过程是有区别的