Notice
Recent Posts
Recent Comments
Link
투케이2K
535. (kotlin/코틀린) ConnectivityManager , NetworkCapabilities 사용해 현재 휴대폰 인터넷 사용 가능 상태 확인 본문
Kotlin
535. (kotlin/코틀린) ConnectivityManager , NetworkCapabilities 사용해 현재 휴대폰 인터넷 사용 가능 상태 확인
투케이2K 2024. 11. 21. 20:56[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin
[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Kotlin
- 개발 툴 : Android Studio
- 구분 : 간단 소스
- 참고 :
>> 모바일 셀룰러 및 인터넷 사용 가능한 와이파이는 true , 와이파이는 연결 되었지만 인터넷 사용이 불가능 한 로컬 AP 연결 인 경우 false
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [isInternetUseStatus] : 현재 휴대폰 단말기 인터넷 사용 가능 상태 확인
// -----------------------------------------------------------------------------------------
@RequiresApi(Build.VERSION_CODES.M)
fun isInternetUseStatus(mContext: Context?): Boolean {
/**
* // -----------------------------------------
* [isInternetUseStatus 메소드 설명]
* // -----------------------------------------
* 1. 현재 휴대폰 단말기 인터넷 사용 가능 상태 확인
* // -----------------------------------------
* 2. 호출 방법 :
*
* if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
*
* C_StateCheck.isInternetUseStatus(A_Intro@this)
* }
* // -----------------------------------------
* 3. 리턴 데이터 :
*
* 모바일 셀룰러 및 인터넷 사용 가능한 와이파이는 true , 와이파이는 연결 되었지만 인터넷 사용이 불가능 한 로컬 AP 연결 인 경우 false
* // -----------------------------------------
*/
// [리턴 변수 선언 실시]
var returnData = false
// [로직 처리 실시]
try {
if (mContext != null) {
// [ConnectivityManager 생성]
val cm = mContext.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
// [Network 및 NetworkCapabilities 생성]
val network = cm.activeNetwork
val networkCapabilities = cm.getNetworkCapabilities(network)
// [인터넷 사용가능 하고 , 유효한 연결인지 확인 수행]
val hasCapabilityInternet = networkCapabilities!!.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
val hasCapabilityValidated = networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)
// [and 결과로 인터넷 사용 가능한 네트워크 환경 상태 체크]
returnData = hasCapabilityInternet && hasCapabilityValidated
}
} catch (e: Exception) {
e.printStackTrace()
}
// [로그 출력 실시]
//*
// ===============================================================
S_Log._D_("현재 휴대폰 단말기 인터넷 사용 가능 상태 확인", arrayOf(
"RETURN :: $returnData"
))
// ===============================================================
// */
// [리턴 반환 실시]
return returnData
}
// -----------------------------------------------------------------------------------
반응형
'Kotlin' 카테고리의 다른 글
Comments