gpt4 book ai didi

java - 检查 API29 上的互联网连接

转载 作者:行者123 更新时间:2023-12-05 00:13:49 27 4
gpt4 key购买 nike

我使用以下方法检查互联网连接:

public boolean isInternetConnected() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
return networkInfo != null && networkInfo.isConnected();
}

不过,我发现 NetworkInfogetActiveNetworkInfo()isConnected() 现在都已弃用。我在 SO 上检查了几个线程:

ConnectivityManager getNetworkInfo(int) deprecated

activeNetworkInfo.type is deprecated in API level 28

不过,它们都使用已弃用的方法提供答案。我一直在环顾四周,没有任何运气。是否有任何简单的方法来检查互联网连接,或者我应该继续使用我的方法并忽略已弃用的方法,因为它适用于 API29?

谢谢。

最佳答案

看看.hasTransport

val networkAvailability = cm.getNetworkCapabilities(cm.activeNetwork)
if(networkAvailability !=null && networkAvailability.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) && networkAvailability.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED))
{
//has network
if (networkAvailability.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)) { //wifi
} else if (networkAvailability.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) { //cellular
}
}

关于java - 检查 API29 上的互联网连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56709604/

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