fileProvider 2

[Android]Retrofit을 이용한 apk 파일 다운로드 및 설치

개발 도중 플레이스토어에 올라가있지 않은 앱을 업데이트 하기위하여 앱에서 노티를 띄워 apk파일을 받아 설치하는 것을 구현하였습니다. 백그라운드에서 다운로드를 하고 notification에 progress를 업데이트 하기위해 아래와 같은 코드를 작성해야합니다. 1. Project Setup build.gradle에 retrofit의존성을 추가해줍니다. 1 implementation 'com.squareup.retrofit2:retrofit:2.5.0' Manifest에 아래와 같은 권한을 설정합니다. 1 2 3 4 5 6 7 또한 Android 7.0(Nougat / API 24)부터 Intent로 URI 파일 경로 전송시 "file://" 노출되어 있으면 FileUriExposedException 오류..

Android 2019.06.26

FileUriExposedException 오류 File Provider 로 해결

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 생성 AndroidManifes..

Android 2019.06.25