共计 1382 个字符,预计需要花费 4 分钟才能阅读完成。
- 在我的项目
AndroidManifest.xml
增加配置项:
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true"
tools:replace="android:authorities">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_provider_paths"
tools:replace="android:resource" />
</provider>
- 在
res/xml
目录下增加文件file_provider_paths
,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-files-path name="external_files_path" path="." />
<external-cache-path name="external_cache_path" path="." />
<external-path name="external_path" path="." />
<files-path name="files_path" path="." />
<cache-path name="cache_path" path="." />
</paths>
这里须要理解了一下 Android
文件系统。
XML | 代码 | 文件门路 |
---|---|---|
<external-files-path name=”external_files_path” path=”.” /> | Context.getExternalFilesDir(String) | /storage/emulated/0/Android/data/<application package>/files |
<external-cache-path name=”external_cache_path” path=”.” /> | Context.getExternalCacheDir() | /storage/emulated/0/Android/data/<application package>/cache |
<external-path name=”external_path” path=”.” /> | Environment.getExternalStorageDirectory() | /storage/emulated/0 |
<files-path name=”files_path” path=”.” /> | Context.getFilesDir() | /data/data/<application package>/files |
<cache-path name=”cache_path” path=”.” /> | Context.getCacheDir() | /data/data/<application package>/cache |
正文完