java.lang.IllegalArgumentException: Missing android.support.FILE_PROVIDER_PATHS meta-data

问题出现场景:

项目里面使用了PictureSelector这个开源的图片选择器,之前使用这个框架拍照、录视频都是没有问题的,但是突然就出现了这个问题(不确定是不是修改了其他地方影响的)

java.lang.IllegalArgumentException: Missing android.support.FILE_PROVIDER_PATHS meta-data

疯狂的百度,网上的解决办法还是解决不了我的问题
网上参考资料
参考资料1
参考资料2
stackoverflow参考资料
!注意!注意!注意 以上三种解决办法都没有解决我的问题,网上也就这三种解决办法,都是复制粘贴

解决办法

突然点开了一篇stackoverflow
stackoverflow链接
java.lang.IllegalArgumentException: Missing android.support.FILE_PROVIDER_PATHS meta-data_第1张图片
按照上面的描述进行修改
修改之前:

 android:authorities="${applicationId}.provider"

修改之后:

 android:authorities="${applicationId}.fileprovider"

在调用的时候也需要修改
修改前:

  String authority = getPackageName() + ".provider";

修改后:

String authority = getPackageName() + ".fileprovider";

这个问题就完美解决了

注:我修改之前的写法,在使用的时候是没有问题的(同一个测试机),就是突然出现了这个问题,不知道是什么原因,如果知道原因的小伙伴欢迎评论留言
对fileprovider的使用不清楚的小伙伴可以参考下面的两篇文章

FileProvider使用
FileProvider使用及相关第三方冲突的完美解决

你可能感兴趣的:(Android)