프로젝트의 SDK Target을 33으로 변경하게 되면 

기존 이미지 및 사진 권한이 갑자기 사라지는 현상을 마주하게 됩니다. 

(저는 항상 프로젝트 SDK Target 버전을 변경할 때마다 두렵습니다... 오늘은 또 무슨 일이...  😵‍💫😵‍💫)

 

(왼쪽 이미지) SDK 32 이하 / (오른쪽 이미지) SDK 33

 

Target SDK를 33으로 지정하게 되면 Andorid13 이상의 기기에서는

기존에 노출되던 "Photos and videos" 권한이 사라지는 걸 알 수 있습니다.  🫥🫥🫥

(Wow... 이 사실을 모르고 배포했다면... 끔직하네요...)

 

추가적으로 뮤직과 노티피케이션도 같이 사라지는 걸 알 수 있는데요.

이 부분에 대해서 설명을 드리자면 💁‍♂️

 

Target SDK 33으로 변경하게 된다면 

기존 "READ_EXTERNAL_STORAGE" 권한에 대한 세분화가 진행됩니다. 

SDK33 " READ_EXTERNAL_STORAGE" 권한 세분화

 

따라서 기존에 "READ_EXTERNAL_STORAGE" 권한만 적용되어 있다면

이미지 및 사진 / 동영상 / 오디오 파일에 대한 권한이 모두 사라지게 됩니다.

 

TargetSDK 33부터는 

"READ_MEDIA_IMAGES" 

"READ_MEDIA_VIDEO" 

"READ_MEDIA_AUDIO"에 대한 권한들을 Manifest에 선언해 주고 

해당 이름의 권한으로 권한체크 및 권한요청을 진행해야 합니다. 

 

 

위의 이미지에서 Notifications 권한이 사라진 이유는

제가 작성한 게시물로 대체하겠습니다.  💁‍♂️💁‍♂️

 

Android 13 Notification Permission 알림 권한 띄우기.

드디어 Android13 업데이트가 다가왔습니다. 이미 Google pixel 기종들은 업데이트가 가능하고 삼성 기기들은 S22 기종들부터 업데이트가 이미 가능하며 22.11부터 점진적으로 업데이트 일정이 나온다

salmonpack.tistory.com

 

 

 


 

자 위에서 말씀드린 것처럼

SDK33부터 "READ_EXTERNAL_STORAGE" 권한이 세분화되면서

이미지 / 동영상 / 오디오 권한이 나눠지게 되었습니다.

그렇기 때문에 세분화된 권한들로 권한체크, 권한요청을 해야 한다고 했었죠.

 

ActivityCompat.requestPermissions(
    this,
    arrayOf(Manifest.permission.READ_MEDIA_IMAGES),
    101
)

Android13에서의 권한 요청 알럿

 

네 이제 정상적으로 이미지 권한요청이 되고 있습니다.

 

BUT 🚫  

하지만❗️❗️❗️  

Android13에서 정상적으로 권한요청이 되는 것이죠!

 

Android13 이하의 OS에서는 아직 

"READ_EXTERNAL_STORAGE" 권한이 이미지 / 동영상 / 오디오에 대한 권한을 컨트롤합니다. 

따라서 Andorid13 이하의 OS에서는 "READ_MEDIA_IMAGES" 권한을 요청해도 

권한 요청 알럿이 노출되지 않습니다! 

 

반대로 Target SDK33에서 "READ_EXTERNAL_STORAGE" 권한요청을 하면 어떨까요? 

Android13에서는 권한요청 알럿이 노출되지 않고 

Android13 이하에서는 권한요청 알럿이 노출됩니다! 

 

버전에 따라 권한의 이름도 달라졌습니다.

Files and media >> Photos and videos

(왼쪽 이미지) Android13 이전 버전들 / (오른쪽 이미지) Android13

 

 

if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.TIRAMISU) {
    checkPermission(Manifest.permission.READ_MEDIA_IMAGES)
} else{
    checkPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
}

 

저는 이처럼 VERSION_CODES.TIRAMISU(Android13) 버전을 체크하여

권한요청을 따로 하고 있습니다.

 

혹시 여러분들은 어떻게 작업하실 생각인가요?

더 좋은 방법이 있다면 댓글로 제 부족한 소스 코드를 완성시켜 주세요.

 

 

➕➕➕

위에서 이미지권한에 대해 많이 언급했었죠~

Andorid13에서는 PhotoPicker 기능이 새로 추가되었습니다.

PhotoPicker!! 궁금하신가요??

 

Android PhotoPicker 권한 없이 갤러리에서 이미지 가져오기/이미지 다중 선택

갤러리에서 이미지를 가져오기 위하여 사용자에게 권한을 받아오느라 지치셨나요?? 🤦‍♂️🤦‍♂️ 자 여기 사용자의 앱 권한 없이 갤러리에 접근하여 이미지를 가져올 수 있는 방법이 있

salmonpack.tistory.com

 

 


여기까지 저의 긴 글을 읽어주셔서 감사합니다.

제가 습관적으로 코딩을 하는 그날까지 습관적으로 코딩을 하기 위해 글 작성을 꾸준하게 해 보겠습니다.

 

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기