Android 7.0报错,访问文件时
android.os.FileUriExposedException: file:///storage/emulated/0/auxiliary/1648605378530.txt
解决办法
- 声明FIleProvider
- 编写XML文件
- 使用FileProvider
1、在AndroidManifest.xml中添加如下代码
android:authorities :你的 app的包名.fileProvider android:grantUriPermissions:必须是true,表示授予 URI 临时访问权限 android:exported:必须是false android:resource:中的filepaths是我们接下来要添加的文件
2、xml 的创建
<?xml version="1.0" encoding="utf-8"?>
<paths>
<!-- 表示 content.getFileDir() 获取到的目录-->
<files-path name="files-path" path="." />
<!-- 表示 content.getCacheDir() 获取到的目录-->
<cache-path name="cache-path" path="." />
<!-- 表示Environment.getExternalStorageDirectory() 指向的目录-->
<external-path name="external_storage_root" path="." />
<!-- 表示 ContextCompat.getExternalFilesDirs() 获取到的目录-->
<external-files-path name="external_file_path" path="." />
<!-- 表示 ContextCompat.getExternalCacheDirs() 获取到的目录-->
<external-cache-path name="external_cache_path" path="." />
<!-- 表示根目录-->
<root-path name="root-path" path="" />
</paths>
?
?3、修改访问路径的代码
?
?
|