自己写了一个拍照,选择相册的三方库,因为适配了7.0的安全权限。所以在自己的拍照库里加了fileprovider。
这里需要注意的是authorities节点:
1.该节点首先必须与java代码里引用的值一致
2.一开始我使用的是 BuildConfig.APPLICATION_ID+".fileProvider"
在项目里测试都是一切正常,没有任何问题。这里的BuildConfig是拍照库自己的config
但是后来引用到实际项目里,就报错了,大概是请求的uri权限非法。(依赖工程自己也配置了fileprovider)
后来将库文件的代码如下图稍微调整了一下,获取的不是自己的BuildConfig,而是通过外部传入的context获取依赖工程的appid
总结:
库工程和依赖工程(包含多个provider节点的时候)的 authorities 必须一致
如果依赖工程没有配置,则无影响