1. 요즘 강의를 새로 듣고 있어서 혼자 고민할 부분이 적다보니 딱히 블로그에 쓸만한 오류가 발생하지 않았다. 그러던 차에 오랜만에 오류가 생겼다.
ActivityCompat.requestPermissions(
this,
arrayOf(android.Manifest.permission.READ_EXTERNAL_STORAGE),
REQUEST_READ_EXTERNAL_STORAGE
)
외부 저장소 읽기 권한 요청을 발생시키는 위 코드가 기대한대로 동작하지 않았다. 리스너를 달아둔 버튼을 아무리 클릭해도 묵묵부답.
로그를 찍어 확인해봤지만 분명히 클릭 리스너와 메소드 진입은 정상적으로 일어나고 있었다. 혹시나 권한 요구 창을 이미 무시했나싶어 앱 재설치도 여러번 해봤는데도 결과는 같았다.
공식문서를 뒤져보니 그 이유를 알 수 있었다.
Android API 레벨 33, 그러니까 Android 13부터는 해당 권한을 이용할 수 없고, 이미지, 비디오, 오디오에 대한 권한을 각각 요청해주어야 한다는 내용이었다.
ActivityCompat.requestPermissions(
this,
arrayOf(android.Manifest.permission.READ_MEDIA_IMAGES),
REQUEST_READ_MEDIA_IMAGES
)
그래서 요구 권한을 위와 같이 바꿔준 후, manifest도 맞춰 변경해주니 바로 작동함을 확인할 수 있었다. 안드로이드의 업데이트가 생길 때마다 자세하게 확인하는 습관을 들여야겠다.
'Dev > 안드로이드' 카테고리의 다른 글
[안드로이드 짤막공부] 23.09.02 (0) | 2023.09.03 |
---|---|
[안드로이드 짤막공부] 23.08.22 (0) | 2023.08.23 |
[안드로이드 짤막공부] 23.08.01 (0) | 2023.08.01 |
[안드로이드 짤막공부] 23.07.21 (0) | 2023.07.22 |
[안드로이드 짤막공부] 23.07.20 (0) | 2023.07.21 |