구글에 코틀린 인터넷 연결 확인하기 등으로 검색하면 방법이 많이 나온다.
https://altongmon.tistory.com/943
안드로이드 네트워크 연결상태 체크 ConnectivityManager.NetworkCallback 사용법
공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 안드로이드에서 네트워크 상
altongmon.tistory.com
https://yunaaaas.tistory.com/9
[Android/Kotlin] - Wifi 연결 상태 확인하기
권한 설정하기 Network 권한을 설정해주는 permission을 추가해주세요! 사용법 ConnectionManager를 통해 Network Wifi 상태를 확인할 수 있습니다 : ) // 인터넷 연결 확인 함수 fun getNetworkConnected(context..
yunaaaas.tistory.com
좋은 방법들이 많이 나왔지만 API 30 에서 deprecated 된 코드 였다....허어어어어얼!!
여얼심히 구글링 하고 이것저것 테스트 해본 결과 스텍오버플로우에서 방법을 찾을 수 있었다.
private fun isNetworkAvailable(context: Context): 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
//for other device how are able to connect with Ethernet
actNw.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> true
//for check internet over Bluetooth
actNw.hasTransport(NetworkCapabilities.TRANSPORT_BLUETOOTH) -> true
else -> false
}
} else {
return connectivityManager.activeNetworkInfo?.isConnected ?: false
}
}
위 메소드를 코드에 삽입하고
if(!isNetworkAvailable(this)){
val toast = Toast.makeText(this, "인터넷 연결을 확인해주세요. \r\n어플리케이션을 종료합니다.", Toast.LENGTH_LONG)
toast.setGravity(Gravity.CENTER, Gravity.CENTER_HORIZONTAL, Gravity.CENTER_VERTICAL)
toast.show()
ActivityCompat.finishAffinity(this)
exitProcess(0)
}
Activity 'onCreate' 부분에 추가 하면 된다.
으허허허 스텍오버플로우 최고!
출처:
https://stackoverflow.com/questions/57284582/networkinfo-has-been-deprecated-by-api-29
NetworkInfo has been deprecated by API 29
I wanted to check the network connection. So, I used ConnectivityManager.activateNetworkInfo.isConnected unfortunately, that's deprecated in API 29. private fun isOnline(): Boolean { val
stackoverflow.com