首页 > 系统 > Android > 正文

关于AndroidManifest.xml 添加多个 provider节点问题

2019-11-09 15:00:40
字体:
来源:转载
供稿:网友
我们知道在android7.0,修改了对私有存储的限制,导致在获取资源的时候,不能通过Uri.fromFile(..)来获取uri了,但是在写入数据的时候是可以通过Uri.fromFile(..)来获取uri的,android 官网给出的解决办法是通过FilePRovider来解决这一问题,我们需要在AndroidManifest.xml 配制provider节点
<provider    android:name="android.support.v4.content.FileProvider"    android:authorities="${applicationId}"    android:grantUripermissions="true"    android:exported="false">    <meta-data        android:name="android.support.FILE_PROVIDER_PATHS"        android:resource="@xml/file_paths" /></provider>
但是此时我们项目中可能会用到其他一些第三方sdk有用到拍照功能的话,他也为了适配android7.0也添加了这个节点,此时有些人可能就不知道如何下手了,其实很简单我们只要重写一个类 继承自FileProvider,然后就按上述方法在添加一个节点就可以了;例如;
<provider    android:name="com.luck.util.MyFileProvider"    android:authorities="${applicationId}.provider"    android:grantUriPermissions="true"    android:exported="false">    <meta-data        android:name="android.support.FILE_PROVIDER_PATHS"        android:resource="@xml/file_paths" /></provider>

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表