티스토리 뷰

아래와 같은 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 사용방법

  1. res> xml> file paths.xml 파일 생성

 

  1. AndroidManifest.xml에 Provider 추가.

 

  1. Uri.fromFile() 대신 FileProvider.getUriForFile

 

 

댓글

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음



Total
Today
Yesterday
최근에 달린 댓글