As Error:Failed to find configured root that contains /storage/emulated/0/xxx/xxx/xxx.png

发生场景:

引用第三方包,启动它的拍照功能的时候直接闪退

java.lang.IllegalArgumentException: Failed to find configured root that contains 
/storage/emulated/0/PictureSelector/CameraImage/PictureSelector_20190704_135543.png
        at android.support.v4.content.FileProvider$SimplePathStrategy.getUriForFile(FileProvider.java:739)
        at android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:418)
        at com.luck.picture.lib.PictureSelectorActivity.parUri(PictureSelectorActivity.java:444)
        at com.luck.picture.lib.PictureSelectorActivity.startOpenCamera(PictureSelectorActivity.java:378)
        at com.luck.picture.lib.PictureSelectorActivity.startCamera(PictureSelectorActivity.java:353)
        at com.luck.picture.lib.PictureSelectorActivity$10.onNext(PictureSelectorActivity.java:753)
        at com.luck.picture.lib.PictureSelectorActivity$10.onNext(PictureSelectorActivity.java:744)

查阅资料发现原来是手机android系统版本有关,自己的手机是Andriod 9.0的,对文件的管理权限有所要求

第一步,指定一个FileProvider。在AndroidManifest.xml中声明一个条目


    
		 
            
        
        ...
    

第二步,需要在项目的res->xml下添加:provider_paths.xml

external-path目录下指定想分享的目录,name可以随意但尽量避免跟上面的一样,path指定所需目录

然后在最下面添加如下:



.........
	

你可能感兴趣的:(AS常见报错)