Android 7.0 이상부터 파일공유 정책이 변경되었습니다.
Android 7.0 이상에서 File 경로를 Uri로 변경하고자 할 경우 아래와 같은 오류를 맞이하게 됩니다.
Android 7.0 이상에서는 앱 외부에서 file://URI의 노출을 금지하는 StricMode API 정책을 적용합니다. ㅠㅏ일 URI를 포함하는 인텐트가 앱을 떠나면 FileUriExposedException 예외와 함께 오류가 발생합니다.
애플리케이션 간에 파일을 공유하려면 content://URI를 보내고 이 URI에 대해 임시 액세스 권한을 부여해야 합니다. 이 권한을 가장 쉽게 부여하는 방법은 FileProvider 클래스를 사용하는 방법입니다.
- res/xml/file_paths.xml 생성
- AndroidManifest.xml에 Provider 추가
- Uri.fromFile() 대신에 FileProvider 사용
'Android' 카테고리의 다른 글
[Android] Fake gps 앱 및 모의위치 탐지 (2) | 2019.07.02 |
---|---|
[Android]Retrofit을 이용한 apk 파일 다운로드 및 설치 (20) | 2019.06.26 |
안드로이드 4대 컴포넌트란 무엇인가? -Service (0) | 2019.03.30 |
[Android] Context 란? (0) | 2019.01.09 |
안드로이드 4대 컴포넌트란 무엇인가? - Activity (0) | 2019.01.09 |