코딩스토리

[Android/안드로이드] Couldn't find meta-data for provider with authority 오류 해결방법 본문

Android/오류 해결

[Android/안드로이드] Couldn't find meta-data for provider with authority 오류 해결방법

라크라꾸 2020. 3. 1. 19:08

Couldn't find meta-data for provider with authority

다음의 오류는 카메라를 실행할 때 나타나는 오류입니다.

아무리 찾아봐도 오류의 원인은 나오지 않지만 제가 생각하기에는 카메라를 실행한다는 것은 촬영을 하고 촬영한 이미지를 저장시켜야 하는데, 그 이미지의 메타데이터 캐시의 경로를 알지 못하기 때문에 나오는게 아닐까라는 생각을 해봤습니다. 다음 코드를 통해 이미지의 캐시가 저장될 수 있는 경로를 지정해보았습니다.

 

해결방법

먼저 매니페스트에 다음 태그를 작성합니다.

 

Manifests

    
    <application
        ...
        
        <provider
            android:name="androidx.core.content.FileProvider"
            android:authorities="com.lakue.linememolist"  //패키지이름(본인패키지이름으로 수정하셔야합니다)
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/filepaths" />
        </provider>
    </application>
    

 

그 다음 res에서 xml폴더를 만들고 파일 이름을 제공합니다. 

 

filepaths.xml

    
    <paths xmlns:android="http://schemas.android.com/apk/res/android">
        <external-path 
            name="my_images" 
            path="Android/data/com.lakue.linememolist/files/Pictures" />  //본인패키지이름으로 수정하셔야합니다.
    </paths>
    

 

미흡한부분은 댓글을 통해 알려주시면 감사하겠습니다.

Comments