使用Fileprovide 出现的问题

我们知道在android7.0,修改了对私有存储的限制,导致在获取资源的时候,不能通过Uri.fromFile(..)来获取uri了,但是在写入数据的时候是可以通过Uri.fromFile(..)来获取uri的,android 官网给出的解决办法是通过FileProvider来解决这一问题,我们需要在AndroidManifest.xml 配制provider节点。


    

其中,provider_paths.xml如下所示:



    
    
    
    

但是此时我们项目中可能会用到其他一些第三方sdk,为了适配7.0权限也加了fileprovider,此时就会出现冲突问题 : Manifest merger failed,解决这个问题就需要自定义 FileProvide :

第一步:

自定义fileprovider继承fileprovider


image.png

第二步:

自定义xml :千万注意filepath指向的路径也是自定义的,不要和初始file_paths相同


image.png

第三步:

在manidest 加入provider 注意authorities指向的报名是工程project的包名


image.png

你可能感兴趣的:(使用Fileprovide 出现的问题)