Posts Checking Internet Connectivity
Post
Cancel

Checking Internet Connectivity

The below code is for the Internet checking. Note: From Android M there is new way to check android permission.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
private fun hasInternetConnection(): Boolean {
      val connectivityManager = getApplication<CovidApplication>().getSystemService(
      Context.CONNECTIVITY_SERVICE
      ) as ConnectivityManager
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
      val activeNetwork = connectivityManager.activeNetwork ?: return false
      val capabilities = connectivityManager.getNetworkCapabilities(activeNetwork) ?: return false
            return when {
                  capabilities.hasTransport(TRANSPORT_WIFI) -> true
                  capabilities.hasTransport(TRANSPORT_CELLULAR) -> true
                  capabilities.hasTransport(TRANSPORT_ETHERNET) -> true
                  else -> false
            }
      } else {
            connectivityManager.activeNetworkInfo?.run {
                  return when(type) {
                        TYPE_WIFI -> true
                        TYPE_MOBILE -> true
                        TYPE_ETHERNET -> true
                        else -> false
                  }
            }
      }
      return false
}
This post is licensed under CC BY 4.0 by the author.