투케이2K

224. (kotlin/코틀린) [android 12 / target 31] [유틸 파일] getHotspotEnable : 모바일 핫스팟 (Hotspot) 활성 상태 확인 본문

Kotlin

224. (kotlin/코틀린) [android 12 / target 31] [유틸 파일] getHotspotEnable : 모바일 핫스팟 (Hotspot) 활성 상태 확인

투케이2K 2023. 3. 6. 20:46

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

        // -----------------------------------------------------------------------------------------
        // TODO [SEARCH FAST] : [getHotspotEnable] : 핫스팟 활성 상태 확인
        // -----------------------------------------------------------------------------------------
        fun getHotspotEnable(mContext: Context): Boolean {

            /**
             * // -----------------------------------------
             * [getHotspotEnable 메소드 설명]
             * // -----------------------------------------
             * 1. 현재 사용자 모바일 디바이스 핫스팟 활성 상태 확인
             * // -----------------------------------------
             * 2. 호출 방법 :
             *
             * C_StateCheck.getHotspotEnable(A_Main@this)
             * // -----------------------------------------
             * 3. 리턴 데이터 :
             *
             * 핫스팟 켜진 상태인 경우 경우 = true / 아니면 false
             * // -----------------------------------------
             */


            // [리턴 변수 선언 실시]
            var returnData = false
            var actualState = 0


            // [로직 처리 실시]
            try {
                val mWifiManager = mContext.getSystemService(Context.WIFI_SERVICE) as WifiManager
                val method = mWifiManager.javaClass.getDeclaredMethod("getWifiApState")
                method.isAccessible = true
                actualState = method.invoke(mWifiManager) as Int
                if (actualState == 10) { // [AP_STATE_DISABLING]
                } else if (actualState == 11) { // [AP_STATE_DISABLED]
                } else if (actualState == 12) { // [AP_STATE_ENABLING]
                } else if (actualState == 13) { // [AP_STATE_ENABLED]

                    // [리턴 결과 삽입]
                    returnData = true
                } else if (actualState == 14) { // [AP_STATE_FAILED]
                } else {
                }
            } catch (e: Exception) {
                e.printStackTrace()
                actualState = -1
            }


            // [로그 출력 실시]
            //*
            S_Log.ltd("================================================")
            S_Log.cnt("[" + ACTIVITY_NAME + " >> " + C_Util.getNowMethod(1) + " :: 현재 사용자 모바일 디바이스 핫스팟 활성 상태 확인]")
            S_Log.cnt("-----------------------------------------")
            S_Log.cnt("[actualState :: $actualState]")
            S_Log.cnt("-----------------------------------------")
            S_Log.cnt("[RETURN :: $returnData]")
            S_Log.lbd("================================================")
            // */


            // [리턴 반환 실시]
            return returnData
        }
 

[결과 출력]

 

D///===========//: ================================================
I/: [C_StateCheck >> getHotspotEnable :: 현재 사용자 모바일 디바이스 핫스팟 활성 상태 확인]
I/: -----------------------------------------
I/: [actualState :: 11]
I/: -----------------------------------------
I/: [RETURN :: false]
D///===========//: ================================================

 

반응형
Comments