如何解决Android 10 requestNetwork花费太长时间显示指定的网络
我正在尝试将我的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花费的时间对我来说并不适合。我的代码有什么问题吗?
非常感谢
解决方法
通过对比实验发现Android 11可以和Android 9一样好
我猜是 Android 10 的错误。对比Android 11和Android 10的代码,我们发现请求网络流程存在差异。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。