Search code examples
imagecamerapicker

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.XmlResourceParser


I'm using This image picker library for selecting image from gallery / camera, you can see my manifest below

My package name is: com.vowpay.vowpay

      <provider
        android:name="android.support.v4.content.FileProvider"
        android:authorities="com.vowpay.vowpay"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/provider_paths"/>
    </provider>

GETTING ERROR:

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)' on a null object reference

AT LINE

       lifeCycleCallBackManager.onActivityResult(requestCode, resultCode, data);

Solution

  • change you provider from

      <provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="com.vowpay.vowpay"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/provider_paths"/>
        </provider>
    

    to

      <provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="com.vowpay.vowpay.provider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/provider_paths"/>
        </provider>
    

    and provider_path.xml should like

    <?xml version="1.0" encoding="utf-8"?>
        <paths xmlns:android="http://schemas.android.com/apk/res/android">
            <external-path
                name="external_files"
                path="." />
    <root-path
            name="external_files"
            path="/storage/"/>
        </paths>