티스토리 뷰
아래와 같은 AndroidRuntime Error 메시지 발생시
android.os.FileUriExposedException: file:///storage/emulated/0/1534602883975.jpg exposed beyond app through ClipData.Item.getUri()
android.os.StrictMode.onFileUriExposed(StrictMode.java:1960)
at android.net.Uri.checkFileUriExposed(Uri.java:2356)
위와같이 FileUriExposedException 발생하는 경우
안드로이드 7.0 부터 Uri.fromFile() 사용 시 개인 파일의 보안을 강화하기 위해 개인 디렉토리의 액세스를 제한하여 SecurityException과 FileUriExposedException이 발생할 수 있다.
따라서 Uri클래스의 fromFile()를 통해 얻어온 Uri(“file://…”)가 카메라앱으로 공유함으로써 발생한 오류이다.
따라서 해결책으로 FileProvider 사용을 해야 한다.
FileProvider 관련 Google Android 링크
android 7.0 관련 수정사항
FileProvider 사용방법
res> xml> file paths.xml 파일 생성
AndroidManifest.xml에 Provider 추가.
Uri.fromFile() 대신 FileProvider.getUriForFile
'Computer > Android' 카테고리의 다른 글
TextView 줄간격, 자간, 장평 설정하기 (0) | 2019.01.06 |
---|---|
Scrollbar 설정 (색상,위치 등 변경) (0) | 2018.12.26 |
Face API in Android (1) (0) | 2018.08.14 |
[Android] Activity간 객체, 행렬 데이터 전달 (0) | 2018.05.13 |
[Android] Layout겹치기 (0) | 2018.05.08 |
댓글