场景:
使用FileProvider获取SD上文件的Uri(FileProvider.getUriForFile)获取相册的图片,升级应用获取apk文件。
问题:
报异常IllegalArgumentException Failed to find configured root that contains
解决方法:
使用FileProvider的时候,切记要在AndroidManifest.xml文件中,进行相关配置才可以正常使用。
否则就会出现上述异常,找不到文件。
配置步骤1:在AndroidManifest.xml中配置如下代码
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="你的包名.fileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
步骤2:在res下创建xml文件夹,并创建file_paths.xml文件,文件内容如下
<?xml version="1.0" encoding="utf-8"?>
<paths>
<external-path path="Android/data/你的包名/" name="files_root" />
<external-path path="." name="external_storage_root" />
<external-path name="camera_photos" path="" />
</paths>