class NetworkManager(private val context: Context) {
fun checkNetworkState(): Boolean {
val connectivityManager =
context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
val nw = connectivityManager.activeNetwork ?: return false
val actNw = connectivityManager.getNetworkCapabilities(nw) ?: return false
return when {
actNw.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> true
actNw.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> true
else -> false
}
} else {
val nwInfo = connectivityManager.activeNetworkInfo ?: return false
return nwInfo.isConnected
}
}
}
'Android' 카테고리의 다른 글
BottomNavigationView 이벤트 연결 없이 만들기 (Google Sample) (0) | 2020.04.28 |
---|---|
CleanArchitecture 링크 모음 (0) | 2020.04.28 |
Android gitignore (0) | 2020.04.17 |
Rx onError에서 responseMessage의 필드값 가져오기 (0) | 2020.04.09 |
DialogFragment Fullscreen (0) | 2019.07.03 |