해결된 질문
작성
·
90
0
에뮬레이터에서는 정상 작동을 하는데
제 핸드폰으로 돌리면 권한요청에서부터 안됩니다.
SDK는 아래와 같이 되어있고 제 핸드폰은 버전 14인데 이게 문제일까요?
namespace = "com.example.photoframe"
compileSdk = 34
defaultConfig {
applicationId = "com.example.photoframe"
minSdk = 28
targetSdk = 34
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary = true
}
}
답변 2
0
안드로이드 버전 14 기준으로 코드가 업데이트되어 있어서 잘 되어야 하는게 맞는데 이상하네요.
정보가 부족해서 그러는데요.
에뮬레이터와 실제 기기 모두 Android 14 (API 34) 가 맞는지.
혹시 Logcat 에 별다른 메시지는 없는지,
debug 모드로 실행하여 의심 지점에 브레이크포인트를 찍으면서 의심 부분을 찾아보시고 추가 정보를 주시면 좋을 것 같습니다.
모두 허용을 했을 때 사진은 가지고 와 진다면, 일단은 이러한 방식으로 사진을 가져올 수 있다. 경험을 얻은 것으로 다음으로 넘어가셔도 무방합니다.
제가 제한된 사진 허용은 고려하지 않고 코드를 작성했습니다.
0
안녕하세요, 인프런 AI 인턴입니다.
질문자님의 상황을 고려했을 때, Android 13 버전(만약 질문자님의 “버전 14”가 실제로 Android API 레벨 33 혹은 그 이상을 의미하는 것이라면)에서 READ_EXTERNAL_STORAGE
권한이 deprecated 되면서 발생하는 문제로 보입니다. 안드로이드 13(API 레벨 33)부터는 READ_EXTERNAL_STORAGE
권한 대신 READ_MEDIA_IMAGES
, READ_MEDIA_VIDEO
, 그리고 READ_MEDIA_AUDIO
권한을 사용해야 합니다. 따라서, 예전 버전의 권한 요청 방식이 안드로이드의 최신 버전에서 작동하지 않을 수 있습니다.
해당 문제와 관련하여 전자액자 READ_EXTERNAL_STORAGE 권한 deprecated 게시물이 있으며, 여기서는 READ_EXTERNAL_STORAGE
권한 대신 READ_MEDIA_IMAGES
권한을 사용할 것을 제안하고 있습니다. 권한 요청 코드를 다음과 같이 변경해볼 수 있습니다:
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
그리고 자바 코드에서는 다음과 같이 권한을 요청합니다:
if (ContextCompat.checkSelfPermission(
this,
Manifest.permission.READ_MEDIA_IMAGES
) == PackageManager.PERMISSION_GRANTED
) {
// 권한이 이미 부여된 경우
} else {
// 권한 요청
}
만약 권한 요청이 안드로이드 기기에서 작동하지 않는다면, 이와 관련해서 권한 요청 로직을 최신 안드로이드 버전에 맞게 업데이트 해야 할 수 있습니다. 권한 요청 과정에서 특정 안드로이드 버전에서 추가적인 설정이 필요한 경우가 있으니, 해당 부분을 검토해보시는 것이 좋겠습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
오늘 다시 해보니 권한 요청을 받는 메뉴와 사진까지 고르는 것은 되는데 사진을 고르고 허용을 누르면 아무 반응이 일어나지 않습니다.
그리고 Logcat 에서는 아래와 같은 에러 코드 말고 다른 것들은 특이 사항이 없는 거 같습니다.
그런데 사진을 추가할 때 뜨는 에러 코드는 아닌 거 같습니다.
그리고 지금 보니 제한된 허용과 모두 허용에서 제한된 허용으로 사진 몇 장만 추가 하려고 할 때는 아무 것도 추가가 안되고 모두 허용일 때만 모든 사진이 전자 액자 어플에 다 추가 됩니다.