투케이2K

301. (kotlin/코틀린) [유틸 파일] getLocationPermisseionEnable : 위치 권한 상태 부여 확인 본문

Kotlin

301. (kotlin/코틀린) [유틸 파일] getLocationPermisseionEnable : 위치 권한 상태 부여 확인

투케이2K 2023. 5. 7. 17:41

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

        // ----------------------------------------------------------------------------------
        // TODO [권한 상태 묻기 배열 선언]
        // ----------------------------------------------------------------------------------
        val PERMISSION_ARRAY = arrayOf(
            // -----------------------------------------
            Manifest.permission.READ_PHONE_STATE,  // [0] : [폰 상태]
            // -----------------------------------------
            Manifest.permission.BLUETOOTH,  // [1] : [블루투스]
            Manifest.permission.BLUETOOTH_ADMIN,  // [2] : [블루투스]
            // -----------------------------------------
            Manifest.permission.ACCESS_COARSE_LOCATION,  // [3] : [위치 권한]
            Manifest.permission.ACCESS_FINE_LOCATION  // [4] : [위치 권한]
            // -----------------------------------------
        )





        // ----------------------------------------------------------------------------------
        // TODO [SEARCH FAST] : [SEARCH FAST] : [위치 권한 상태 부여 확인]
        // ----------------------------------------------------------------------------------
        fun getLocationPermisseionEnable(mContext: Context): Boolean {

            /**
             * -------------------------------------------
             * [필요 퍼미션 설정]
             *
             * Manifest.permission.ACCESS_COARSE_LOCATION, // [3] : [위치 권한]
             * Manifest.permission.ACCESS_FINE_LOCATION, // [4] : [위치 권한]
             * -------------------------------------------
             * 근처 기기 및 위치 권한 상태 부여 확인
             * -------------------------------------------
             */

            // [Context 지정]
            context = mContext

            // [초기 리턴 변수 선언]
            var resultData = true

            // [로직 처리 수행 실시]
            try {
                resultData = if (ContextCompat.checkSelfPermission(mContext!!, PERMISSION_ARRAY[3]) == PackageManager.PERMISSION_GRANTED
                    && ContextCompat.checkSelfPermission(mContext, PERMISSION_ARRAY[4]) == PackageManager.PERMISSION_GRANTED) {
                    // ===============================================================
                    S_Log._W_("위치 권한 부여 확인", null)
                    // ===============================================================

                    // [리턴 결과 삽입 실시]
                    true
                } else {
                    // ===============================================================
                    S_Log._E_("위치 권한 부여 안됨", null)
                    // ===============================================================

                    // [리턴 결과 삽입 실시]
                    false
                }
            } catch (e: Exception) {
                e.printStackTrace()
            }

            // [결과 리턴 실시]
            return resultData
        }
 

[결과 출력]

 

W///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.kotlinproject.C_Permission$Companion.getLocationPermisseionEnable(C_Permission.kt:876)]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: 위치 권한 부여 확인]
W///===========//: ================================================

 

반응형
Comments