常见问题 | 打开系统摄像头

Android7.0调用相机 FileProvider.getUriForFile 报空指针

做项目的时候遇到了问题,在7.0的安卓上使用FileProvider获取content://Uri的时候总是报空指针

NullPointerException: 'android.content.res.XmlResourceParser android.content.pm.PackageItemInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)

跟踪方法到:

    final ProviderInfo info = context.getPackageManager()
    .resolveContentProvider(authority, PackageManager.GET_META_DATA);

这个是因为,打开系统摄像头的时候, 会临时保存一张图片,这个图片的位置需要在AndroidManifest.xml 中配置出来


        
    

这个要写在里面
然后在res/下面创建一个xml文件夹,并且在xml下面创建一个custom_filepaths的xml文件。



具体的如何配置参考如下链接:https://blog.csdn.net/suwenlai/article/details/72845082

这篇文字描述的非常清楚,你可以根据你自己想要保存的位置,配置这个xml文件。

举例:
我在程序中的图片保存位置是 : /storage/emulated/0/images/xxx.jpg
那么我的配置就是 :
至于为什么请参考,我上面推荐的哪个链接 ,里面描述的非常清楚。

你可能感兴趣的:(常见问题 | 打开系统摄像头)