使用FileProvider时出现的错误:
java.lang.IllegalArgumentException: Failed to find configured root that contains /data/data/。
解决方法是将如下代码:
<?xml version="1.0" encoding="utf-8"?> <paths> <files-path name="crime_photos" path="."/> </paths>
改为
<?xml version="1.0" encoding="utf-8"?> <paths> <root-path name="crime_photos" path="."/> </paths>原因是FileProvider中的files-path针对的是 在应用的内部存储区的文件/子目录的文件,无法访问外部SD卡中的文件,而root-path为根目录途径,可以同时访问内置和外部存储器,问题解决。