안녕하세요.
현재 카카오톡에서 이미지를 제 앱에 공유하는 기능을 만들고 있는데
java.lang.SecurityException: Permission Denial: opening provider androidx.core.content.FileProvider from ProcessRecord{a846861d0 10852:{myPackage}/u0a385} (pid=10852, uid=10385) that is not exported from UID 10243
라는 에러가 출력됩니다.
FileProvider는 다음과 같이 등록해놓은 상태이며
(provider
android:name=“android.support.v4.content.FileProvider"
android:authorities=”${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true"
tools:replace=“android:authorities”)
(meta-data
android:name=“android.support.FILE_PROVIDER_PATHS"
android:resource=”@xml/file_path"
tools:replace=“android:resource”/)
(/provider)
위치는 받은 URI를 통해 절대 경로를 구하려고 작성해놓은 코드인
cursor = getContentResolver().query(uri, {"_data"}, null, null, null)
해당 라인에서 오류가 발생합니다.
제가 확인한 바로는 위치에 관계없이 uri를 통해 무언가 하려고 하면 상기 에러를 출력하며 앱이 죽습니다.
구글링을 해서 어지간한 내용은 다 찾아보고 시도를 해봤는데 해결이 되지 않아서 이렇게 게시글을 작성합니다.
도움 주신다면 감사하겠습니다.