一般项目,在Android7.0之后,会需要在 Androidmanifest 中添加一个FileProvider,默认添加如下内容:
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths_public" />
</provider>
有时项目中引入多个第三方SDK,每个SDK需要的 不一样FileProvider,此时如果引入同样的 FileProvider,会冲突报错。
其实不用定义多个Android FileProvider,有一个更简单的方法:
假设你默认的xml文件file_paths_public中有如下内容:
<paths>
<external-path
name="my_images"
path="Pictures" />
</paths>
在你的xml文件中把其他FileProvider的路径放进去就可以了。
<paths>
<external-path
name="my_images"
path="Pictures" />
<!-- 优量汇的 默认路径-->
<external-cache-path
name="gdt_sdk_download_path1"
path="com_qq_e_download" />
<cache-path
name="gdt_sdk_download_path2"
path="com_qq_e_download" />
</paths>