gpt4 book ai didi

Android 6.0 检查是否连接到 Wi-Fi(无互联网)

转载 作者:太空宇宙 更新时间:2023-11-03 12:50:00 25 4
gpt4 key购买 nike

以下是我检查 Android 设备是否连接到 Wi-Fi 网络的方法:

NetworkInfo info = ((ConnectivityManager) ctx.getSystemService(Context
.CONNECTIVITY_SERVICE)).getNetworkInfo(ConnectivityManager.TYPE_WIFI);
boolean isWifiConnected = info != null && info.isAvailable() && info.isConnected();

这适用于 Android 6.0 之前的所有版本。但是,在 Android 6.0 上,如果设备连接到 Wi-Fi 而没有访问互联网,info.isConnected() 将返回 false。

那么,在 Android 6.0 上,我如何才能确定设备已连接到 Wi-Fi?

最佳答案

对于 Android 5.0 及更高版本,您需要使用不同的 API 来检查设备是否已连接到 WiFi 网络。该设备也可能同时连接到移动网络。

ConnectivityManager connectivityManager = ((ConnectivityManager) ctx.getSystemService
(Context.CONNECTIVITY_SERVICE));
boolean isWifiConnected = false;
Network[] networks = connectivityManager.getAllNetworks();
if (networks == null) {
isWifiConnected = false;
} else {
for (Network network : networks) {
NetworkInfo info = connectivityManager.getNetworkInfo(network);
if (info != null && info.getType() == ConnectivityManager.TYPE_WIFI) {
if (info.isAvailable() && info.isConnected()) {
isWifiConnected = true;
break;
}
}
}
}
return isWifiConnected;

关于Android 6.0 检查是否连接到 Wi-Fi(无互联网),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33627548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com