Notice
Recent Posts
Recent Comments
Link
투케이2K
212. (kotlin/코틀린) [유틸 파일] isWifiConnected : 현재 와이파이 연결 상태 확인 본문
[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin
[소스 코드]
// ----------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [isWifiConnected] : 현재 와이파이 연결 상태 확인
// ----------------------------------------------------------------------------------
fun isWifiConnected(mContext: Context) : Boolean {
/**
* // -----------------------------------------
* [isWifiConnected 메소드 설명]
* // -----------------------------------------
* 1. 현재 와이파이 연결 상태 확인
* // -----------------------------------------
* 2. 호출 방법 : C_StateCheck.isWifiConnected(this@A_Intro)
* // -----------------------------------------
* 3. 리턴 데이터 : 와이파이가 연결된 경우 true / 아니면 false
* // -----------------------------------------
* 4. 필요 퍼미션 설정 :
*
* <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
* // -----------------------------------------
* */
// [초기 리턴 데이터 선언 실시]
var returnData = true
var networkName = ""
// [로직 처리 실시]
try {
// [ConnectivityManager 생성]
val cm = mContext.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
// [버전 분기 처리]
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){ // [마시멜로우 이상]
val networkCapabilities = cm.getNetworkCapabilities(cm.activeNetwork)
if (networkCapabilities != null){
if (networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)){
networkName = "[capabilities] WIFI"
}
else if (networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)){
returnData = false
networkName = "[capabilities] MOBILE"
}
else {
returnData = false
networkName = "[capabilities] network is null"
}
}
else {
returnData = false
networkName = "[ERROR] networkCapabilities is null"
}
}
else { // [마시멜로우 미만]
val activeNetwork = cm.activeNetworkInfo
if (activeNetwork != null) {
if (activeNetwork.type == ConnectivityManager.TYPE_WIFI) {
networkName = "[activeNetwork] WIFI"
}
else if (activeNetwork.type == ConnectivityManager.TYPE_MOBILE){
returnData = false
networkName = "[activeNetwork] MOBILE"
}
else {
returnData = false
networkName = "[activeNetwork] network is null"
}
}
else {
returnData = false
networkName = "[ERROR] activeNetwork is null"
}
}
}
catch (e: Exception) {
e.printStackTrace()
returnData = false
networkName = e.message.toString()
}
// [로그 출력 실시]
S_Log.ltd("================================================")
S_Log.cnt("[" + ACTIVITY_NAME + " >> " + C_Util.getNowMethod(1) + " :: 현재 와이파이 연결 상태 확인]")
S_Log.cnt("-----------------------------------------")
S_Log.cnt("[NETWORK :: $networkName]")
S_Log.cnt("-----------------------------------------")
S_Log.cnt("[RETURN :: $returnData]")
S_Log.lbd("================================================")
// */
// [리턴 반환 실시]
return returnData
}
[결과 출력]
D///===========//: ================================================
I/: [C_StateCheck >> isWifiConnected :: 현재 와이파이 연결 상태 확인]
I/: -----------------------------------------
I/: [NETWORK :: [capabilities] MOBILE]
I/: -----------------------------------------
I/: [RETURN :: false]
D///===========//: ================================================
반응형
'Kotlin' 카테고리의 다른 글
Comments