본문 바로가기
Android

[Android] Android13 (SDK33) 미디어권한 설정

by 숨코다 2024. 6. 14.

구글 플레이스토어에서는 앱을 배포할 때 타겟 SDK 버전을 33 이상으로 설정해야 하는 정책을 시행 중입니다.

미디어권한 설정이 변경되어 기존과 같은 설정을 사용한다면 앱에서 미디어에 접근할 수 없습니다.

세분화된 미디어권한에 맞게 menifest에서 설정을 변경해줘야합니다.

 

세분화된 미디어권한

앱이 Android 13 이상을 타겟팅하고 미디어 파일에 접근해야 하는경우 세분화된 미디어 권한을 하나 이상 요청해야 합니다.

 

기존에는 READ_EXTERNAL_STORAGE 하나의 권한으로 사용했다면 Android 13부터는 이미지, 동영상, 오디오로 세분화되어 권한을 요청해야합니다.

미디어 권한

 

 

 

AndroidManifest.xml에 아래 코드 추가

<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO"/>
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO"/>

 

 

* 참고링크

https://developer.android.com/about/versions/13/behavior-changes-13?hl=ko

 

동작 변경사항: Android 13 이상을 타겟팅하는 앱  |  Android Developers

Android 13 이상을 타겟팅하는 앱에 영향을 미치는 Android 13의 변경사항을 알아봅니다.

developer.android.com

 

 

 

(참고)패키지명 변수

저같은 경우에는 미디어 권한을 세분화설정을 완료해도 에러가 발생했는데 그 원인은 패키지명 변수 사용때문이였습니다.

 

${applicationId}는 애플리케이션의 패키지명을 나타내는 변수입니다. 그러나 SDK 33에서는 이 변수를 직접 사용할 수 없습니다. 

애플리케이션의 패키지명을 나타내는 변수

소스코드 : BuildConfig.APPLICATION_ID
xml : ${applicationId}

 

 

변수대신 실제 패키지명을 입력해서 해결했습니다.