프로젝트의 SDK Target을 33으로 변경하게 되면
기존 이미지 및 사진 권한이 갑자기 사라지는 현상을 마주하게 됩니다.
(저는 항상 프로젝트 SDK Target 버전을 변경할 때마다 두렵습니다... 오늘은 또 무슨 일이... 😵💫😵💫)
Target SDK를 33으로 지정하게 되면 Andorid13 이상의 기기에서는
기존에 노출되던 "Photos and videos" 권한이 사라지는 걸 알 수 있습니다. 🫥🫥🫥
(Wow... 이 사실을 모르고 배포했다면... 끔직하네요...)
추가적으로 뮤직과 노티피케이션도 같이 사라지는 걸 알 수 있는데요.
이 부분에 대해서 설명을 드리자면 💁♂️
Target SDK 33으로 변경하게 된다면
기존 "READ_EXTERNAL_STORAGE" 권한에 대한 세분화가 진행됩니다.
따라서 기존에 "READ_EXTERNAL_STORAGE" 권한만 적용되어 있다면
이미지 및 사진 / 동영상 / 오디오 파일에 대한 권한이 모두 사라지게 됩니다.
TargetSDK 33부터는
"READ_MEDIA_IMAGES"
"READ_MEDIA_VIDEO"
"READ_MEDIA_AUDIO"에 대한 권한들을 Manifest에 선언해 주고
해당 이름의 권한으로 권한체크 및 권한요청을 진행해야 합니다.
위의 이미지에서 Notifications 권한이 사라진 이유는
제가 작성한 게시물로 대체하겠습니다. 💁♂️💁♂️
자 위에서 말씀드린 것처럼
SDK33부터 "READ_EXTERNAL_STORAGE" 권한이 세분화되면서
이미지 / 동영상 / 오디오 권한이 나눠지게 되었습니다.
그렇기 때문에 세분화된 권한들로 권한체크, 권한요청을 해야 한다고 했었죠.
ActivityCompat.requestPermissions(
this,
arrayOf(Manifest.permission.READ_MEDIA_IMAGES),
101
)
네 이제 정상적으로 이미지 권한요청이 되고 있습니다.
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
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 > 스터디 노트' 카테고리의 다른 글
Firebase Dynamic Link(동적 링크) 서비스 종료? (0) | 2023.06.27 |
---|---|
[Android] 내가 만든앱, 내가 등록한다 - Google Play Store 개발자 계정 만들기 (0) | 2023.05.23 |
[Android] DataBinding 활용하기(1) - @BindingAdapter 매개변수 두개 이상 활용 (0) | 2022.12.19 |
Android Deep Link 설정 및 adb 테스트 방법 (0) | 2022.11.18 |
Android PhotoPicker 권한 없이 갤러리에서 이미지 가져오기/이미지 다중 선택 (0) | 2022.11.15 |
최근댓글