투케이2K

262. (kotlin/코틀린) [유틸 파일] getFileAccessPermisseionEnable : Android 11 이상 파일 액세스 권한 부여 상태 확인 본문

Kotlin

262. (kotlin/코틀린) [유틸 파일] getFileAccessPermisseionEnable : Android 11 이상 파일 액세스 권한 부여 상태 확인

투케이2K 2023. 4. 9. 18:24

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

        // ----------------------------------------------------------------------------------
        // TODO [SEARCH FAST] : [Android 11] : [파일 액세스 권한 부여 상태 확인]
        // ----------------------------------------------------------------------------------
        fun getFileAccessPermisseionEnable(mContext: Context): Boolean {

            /**
             * -------------------------------------------
             * [필요 퍼미션 설정]
             *
             * <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"></uses-permission>
             * -------------------------------------------
             * 권한 부여 확인 : Environment.isExternalStorageManager()
             * -------------------------------------------
             * 주의 : 구글 플레이스토어 등록 시 정책 상 업데이트 거절이 될 수 있습니다
             * -------------------------------------------
             */

            // [Context 지정]
            context = mContext

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

            // [로직 처리 수행 실시]
            try {

                ///*
                resultData = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { // [안드로이드 11 이상]
                    if (Environment.isExternalStorageManager() == true) {
                        S_Log.ltw("================================================")
                        S_Log.cnt("[" + ACTIVITY_NAME + " >> " + C_Util.getNowMethod(1) + " :: Android 11 이상 >> 권한 부여 확인]")
                        S_Log.lbw("================================================")

                        // [리턴 결과 삽입 실시]
                        true
                    } else {
                        S_Log.ltw("================================================")
                        S_Log.cnt("[" + ACTIVITY_NAME + " >> " + C_Util.getNowMethod(1) + " :: Android 11 이상 >> 권한 부여 안됨]")
                        S_Log.lbw("================================================")

                        // [리턴 결과 삽입 실시]
                        false
                    }
                } else {
                    S_Log.ltw("================================================")
                    S_Log.cnt("[" + ACTIVITY_NAME + " >> " + C_Util.getNowMethod(1) + " :: Android 11 미만 >> 권한 부여 확인]")
                    S_Log.lbw("================================================")

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

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

[결과 출력]

 

W///===========//: ================================================
I/: [C_Permission >> getFileAccessPermisseionEnable :: Android 11 이상 >> 권한 부여 확인]
W///===========//: ================================================

반응형
Comments