마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

FileProvider 를 통해 SD카드에 접근하려면 어떻게 해야하나요?

0 추천

안녕하세요.

프로필 사진 등록을 위해 앨범에서 이미지를 골라서 크롭 하는 처리를 진행중입니다.

그런데 내부 저장소 파일은 문제가 없는데, 외부저장소(SD카드)에 있는 사진을 가져오려고 하면 에러가 나는데요.

이런 에러가 납니다.

 

올리고보니 사진이 작아보여서 에러메시지 일부만 발췌하면 이렇습니다.

java.lang.RuntimeException: Failure delivering result ResultInfo

Caused by: java.lang.IllegalArgumentException: Failed to find configured root that contains /storage/6C7F-CDDC/DCIM/Camera/20170921_165229.jpg

 

FileProvider를 처음 써봐서 개념을 대충만 알고있기는 한데 ㅠㅠ

아래 처럼 external 저장소 관련 모든 값을 넣어줘도 에러가 납니다.

 

WRITE_EXTERNAL_STORAGE 퍼미션은 있고요,

여기서 뭘 더 해줘야 SD카드의 사진을 가져올 수 있을까요?

도움 부탁드립니다. 감사합니다!

 

익명사용자 님이 2018년 9월 27일 질문

2개의 답변

+1 추천
external-path 같은 경우는 보통 /storage/emulated/0 에 해당하는 main shared storage를 베이스로 합니다.

sd card나 usb등을 처리하려면 개발자 문서에는 없는 태그를 사용해야 합니다.

<root-path name="root" path="." />

말그대로 system root를 베이스로 하기 때문에 sd card나 usb 모두 처리할 수 있습니다.
회색 (21,340 포인트) 님이 2018년 9월 28일 답변
0 추천
aucd29 (218,390 포인트) 님이 2018년 9월 28일 답변
...