0

我会用谷歌搜索这个,我找不到我在发什么

我有这个库形式的 Github,它呈现图像意图以选择表单库或打开相机:

'com.github.Mariovc:ImagePicker:latestVersion' 1.2.2

我在 AndroidManifest.xml 中添加了提供程序

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

这是 xml/provider_paths:

<paths>
<external-path path="." name="external_files" />

当我在 Galaxy j.7 Android Api 5.1.1 上运行应用程序时,我收到此错误:

    Failed to ensure directory: /storage/extSdCard/Android/data/co.my_city.development/cache
04-05 13:31:32.171 28647-28647/co.my_city.development W/System.err: 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
04-05 13:31:32.171 28647-28647/co.my_city.development W/System.err:     at android.support.v4.content.FileProvider.parsePathStrategy(FileProvider.java:584)
04-05 13:31:32.171 28647-28647/co.my_city.development W/System.err:     at android.support.v4.content.FileProvider.getPathStrategy(FileProvider.java:558)
04-05 13:31:32.171 28647-28647/co.my_city.development W/System.err:     at android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:400)
04-05 13:31:32.171 28647-28647/co.my_city.development W/System.err:     at com.mvc.imagepicker.ImagePicker.getPickImageIntent(ImagePicker.java:219)
04-05 13:31:32.171 28647-28647/co.my_city.development W/System.err:     at com.mvc.imagepicker.ImagePicker.startChooser(ImagePicker.java:184)
04-05 13:31:32.171 28647-28647/co.my_city.development W/System.err:     at com.mvc.imagepicker.ImagePicker.pickImage(ImagePicker.java:165)

但是在nexues Emulator Api上我得到了这个错误:

 va.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
04-05 06:35:23.650 3835-3835/co.my_city.development W/System.err:     at android.support.v4.content.FileProvider.parsePathStrategy(FileProvider.java:584)
04-05 06:35:23.650 3835-3835/co.my_city.development W/System.err:     at android.support.v4.content.FileProvider.getPathStrategy(FileProvider.java:558)
04-05 06:35:23.650 3835-3835/co.my_city.development W/System.err:     at android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:400)
04-05 06:35:23.650 3835-3835/co.my_city.development W/System.err:     at com.mvc.imagepicker.ImagePicker.getPickImageIntent(ImagePicker.java:219)
04-05 06:35:23.650 3835-3835/co.my_city.development W/System.err:     at com.mvc.imagepicker.ImagePicker.startChooser(ImagePicker.java:184)

我在这里想念什么?

4

1 回答 1

0

我也面临同样的问题,在调试后我在 FileProvide.class 中得到了它,如下点

private final String mAuthority;

SimplePathStrategy(String authority) 
{
  this.mAuthority = authority;
}

它抛出异常,因为 this.mAuthority 没有正确初始化。此阶段的文件已锁定,无法修改。(对不起,我不得不在评论中指出这个问题,但由于声誉点较少,我在回答部分强调了这里)。

于 2019-08-22T12:55:17.443 回答