투케이2K

469. (kotlin/코틀린) [유틸 파일] 마이크 권한 부여 상태 체크 및 권한 부여 요청 - Manifest.permission.RECORD_AUDIO 본문

Kotlin

469. (kotlin/코틀린) [유틸 파일] 마이크 권한 부여 상태 체크 및 권한 부여 요청 - Manifest.permission.RECORD_AUDIO

투케이2K 2024. 4. 2. 20:03

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

 

        // -----------------------------------------------------------------------------------------
        // TODO [SEARCH FAST] : [setMicrophonePermission] : [마이크 권한 부여 팝업창 호출]
        // -----------------------------------------------------------------------------------------
        // AndroidManifest.xml 파일에 권한 선언 필요 : <uses-permission android:name="android.permission.RECORD_AUDIO" />
        // -----------------------------------------------------------------------------------------
        fun setMicrophonePermission(mContext: Context) {

            // [Context 지정]
            context = mContext

            // [로직 처리 수행 실시]
            try {
                // ===============================================================
                S_Log._F_(mContext, "마이크 권한 요청 수행", null)
                // ===============================================================

                // TODO [퍼미션 권한 요청 수행 >> 클래스 onRequestPermissionsResult 에서 권한 부여 확인]
                ActivityCompat.requestPermissions((context as Activity),
                    arrayOf(Manifest.permission.RECORD_AUDIO),
                    PERMISSION_CODE)

            } catch (e: Exception) {
                S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e)
            }
        }





        // -----------------------------------------------------------------------------------------
        // TODO [SEARCH FAST] : [getMicrophonePermissionEnable] : [마이크 권한 부여 상태 확인]
        // -----------------------------------------------------------------------------------------
        // AndroidManifest.xml 파일에 권한 선언 필요 : <uses-permission android:name="android.permission.RECORD_AUDIO" />
        // -----------------------------------------------------------------------------------------
        fun getMicrophonePermissionEnable(mContext: Context): Boolean {

            // [Context 지정]
            context = mContext

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

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

                ///*
                resultData = if (ContextCompat.checkSelfPermission(mContext, Manifest.permission.RECORD_AUDIO) == PackageManager.PERMISSION_GRANTED) {
                    // ===============================================================
                    S_Log._F_(mContext, "마이크 권한 정상 부여 상태", null)
                    // ===============================================================

                    // [리턴 결과 삽입 실시]
                    true
                } else {
                    // ===============================================================
                    S_Log._F_(mContext, "마이크 권한 부여 안된 상태", null)
                    // ===============================================================

                    // [리턴 결과 삽입 실시]
                    false
                }

            } catch (e: Exception) {
                S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e)
            }

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

 

반응형
Comments