Android

FileUriExposedException 오류 File Provider 로 해결

park_juyoung 2019. 6. 25. 11:43

Android 7.0 이상부터 파일공유 정책이 변경되었습니다.
Android 7.0 이상에서 File 경로를 Uri로 변경하고자 할 경우 아래와 같은 오류를 맞이하게 됩니다.

FileUriExposedException 오류 

Android 7.0 이상에서는 앱 외부에서 file://URI의 노출을 금지하는 StricMode API 정책을 적용합니다. ㅠㅏ일 URI를 포함하는 인텐트가 앱을 떠나면 FileUriExposedException 예외와 함께 오류가 발생합니다.

애플리케이션 간에 파일을 공유하려면 content://URI를 보내고 이 URI에 대해 임시 액세스 권한을 부여해야 합니다. 이 권한을 가장 쉽게 부여하는 방법은 FileProvider 클래스를 사용하는 방법입니다.

 

  • res/xml/file_paths.xml 생성

  • AndroidManifest.xml에 Provider 추가

  • Uri.fromFile() 대신에 FileProvider 사용

 

 

내용이 도움이 되셨거나 초보 블로거를 응원하고 싶으신 분은 아래 하트♥공감 버튼을 꾹 눌러주세요! 

내용의 수정이 있거나 도움이 필요하신 분은 댓글을 남겨주세요!