Notice
Recent Posts
Recent Comments
Link
투케이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
}
반응형
'Kotlin' 카테고리의 다른 글
Comments