Skip to content

Instantly share code, notes, and snippets.

@sdzshn3
Created January 24, 2021 13:06
Show Gist options
  • Select an option

  • Save sdzshn3/9c3cb4cb7280152c517f5dd36154ba12 to your computer and use it in GitHub Desktop.

Select an option

Save sdzshn3/9c3cb4cb7280152c517f5dd36154ba12 to your computer and use it in GitHub Desktop.
@Suppress("DEPRECATION")
private val isNetworkAvailable: Boolean
get() {
var result = false
val connectivityManager =
getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
val networkCapabilities = connectivityManager.activeNetwork ?: return false
val activeNetwork =
connectivityManager.getNetworkCapabilities(networkCapabilities) ?: return false
result = when {
activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> true
activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> true
activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> true
activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_VPN) -> true
else -> false
}
} else {
connectivityManager.run {
connectivityManager.activeNetworkInfo?.run {
result = when (type) {
ConnectivityManager.TYPE_WIFI -> true
ConnectivityManager.TYPE_MOBILE -> true
ConnectivityManager.TYPE_ETHERNET -> true
ConnectivityManager.TYPE_VPN -> true
else -> false
}
}
}
}
return result
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment