투케이2K

759. (Android/Java) [유틸 파일] 마이크 권한 부여 상태 체크 및 권한 부여 요청 - Manifest.permission.RECORD_AUDIO 본문

Android

759. (Android/Java) [유틸 파일] 마이크 권한 부여 상태 체크 및 권한 부여 요청 - Manifest.permission.RECORD_AUDIO

투케이2K 2024. 4. 2. 20:01
반응형

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[소스 코드]

 

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

        // [Context 지정]
        context = mContext;

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

            // TODO [퍼미션 권한 요청 수행 >> 클래스 onRequestPermissionsResult 에서 권한 부여 확인]
            ActivityCompat.requestPermissions(
                    (Activity) context,
                    new String[]{Manifest.permission.RECORD_AUDIO},
                    C_Permission.PERMISSION_CODE
            );
        }
        catch (Exception e){
            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" />
    // -----------------------------------------------------------------------------------------
    public static boolean getMicrophonePermissionEnable(Context mContext){

        // [Context 지정]
        context = mContext;

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

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

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

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

                // [리턴 결과 삽입 실시]
                resultData = false;
            }
        }
        catch (Exception e){
            S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e);
        }

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

 

반응형
Comments