Android 7.0 fileprovider 填坑记录

自己写了一个拍照,选择相册的三方库,因为适配了7.0的安全权限。所以在自己的拍照库里加了fileprovider。


image.png

这里需要注意的是authorities节点:
1.该节点首先必须与java代码里引用的值一致
2.一开始我使用的是 BuildConfig.APPLICATION_ID+".fileProvider"
在项目里测试都是一切正常,没有任何问题。这里的BuildConfig是拍照库自己的config
但是后来引用到实际项目里,就报错了,大概是请求的uri权限非法。(依赖工程自己也配置了fileprovider)
后来将库文件的代码如下图稍微调整了一下,获取的不是自己的BuildConfig,而是通过外部传入的context获取依赖工程的appid


image.png

总结:
库工程和依赖工程(包含多个provider节点的时候)的 authorities 必须一致
如果依赖工程没有配置,则无影响

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容