【android、kotlin】判断网络是否连接
来源:http://www.chinaoc.com.cn/p/1168078.html发现以前的判断网络连接的代码中好多过时的方法,还好多判断,好不爽,记录一下新的代码@Suppress("DEPRECATION")fun isInternetAvailable(context: Context): Boolean {var result = falseval...
·
来源:http://www.chinaoc.com.cn/p/1168078.html
发现以前的判断网络连接的代码中好多过时的方法,还好多判断,好不爽,记录一下新的代码
@Suppress("DEPRECATION")
fun isInternetAvailable(context: Context): Boolean {
var result = false
val cm = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager?
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
cm?.run {
cm.getNetworkCapabilities(cm.activeNetwork)?.run {
result = when {
hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> true
hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> true
hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> true
else -> false
}
}
}
} else {
cm?.run {
cm.activeNetworkInfo?.run {
if (type == ConnectivityManager.TYPE_WIFI) {
result = true
} else if (type == ConnectivityManager.TYPE_MOBILE) {
result = true
}
}
}
}
return result
}
更多推荐
已为社区贡献2条内容
所有评论(0)