重写了get()
方法,使用时直接读取该val
即可
val netinfo: String
get() {
val cm: ConnectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
return if (Build.VERSION.SDK_INT < 23) {
cm.activeNetworkInfo?.let {
if (!it.isAvailable) return@let "无网络"
else return@let it.typeName
} ?: "获取网络信息错误"
} else {
cm.getNetworkCapabilities(cm.activeNetwork)?.let {
when {
it.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> return@let "WIFI"
it.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> return@let "移动数据"
else -> return@let "无网络"
}
} ?: "获取网络信息错误"
}
}