Search code examples
javaandroidandroid-fileprovider

Unable to use FileProvider in Android studio


I am trying to use FileProvider for file authority (so that other apps could use that authority as their target for requests). The manifest looks like this:

        <activity
            android:name=".CrimePagerActivity"
            android:parentActivityName=".CrimeListActivity">
        </activity>
        <provider
            android:authorities="com.example.criminalintent.fileprovider"
            android:name="androidx.core.content.FileProvider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.provider.FILE_PROVIDER_PATHS"
                android:resource="@xml/files" />
        </provider>

but when I try to build the app:

process: com.example.criminalintent, PID: 4598
    java.lang.RuntimeException: Unable to get provider androidx.core.content.FileProvider: java.lang.IllegalArgumentException: Missing android.support.FILE_PROVIDER_PATHS meta-data
        at android.app.ActivityThread.installProvider(ActivityThread.java:7191)
...

What is andoird.support package (I have android.provider) and how can I get that package as dependency?


Solution

  • In your manifest entry, replace:

    android:name="android.provider.FILE_PROVIDER_PATHS"
    

    with:

    android:name="android.support.FILE_PROVIDER_PATHS"