在android7.0以后,修改了对私有存储的限制,导致在获取资源的时候,不能通过Uri.fromFile(...)来获取Uri了;但是在写入数据的时候可以通过Uri.fromFile(...)来获取Uri。Android官方给出的方法是通过FileProvider来解决这一问题。
但是当此项目中用到了其它包含拍照功能的第三方SDK时,就会导致FileProvider冲突问题,因为第三方SDK为了适配android7.0已经添加了FileProver节点。
解决方法有两种:
第一种:创建一个继承自FileProvider的类,并在AndroidManifest中添加provider节点;
第二种:将第三方SDK中的路径配置copy到provider_paths.xml文件中;
第一种:
1.创建ImageFileProver继承FileProvider;
package com.yuyh.library.imgsel;
import android.support.v4.content.FileProvider;
public class ImageFileProvider extends FileProvider {
}
2.在AndroidManifest清单文件的application中添加provider节点;
<provider
android:name=".ImageFileProvider"
android: