【发布时间】:2021-11-22 15:38:30
【问题描述】:
此错误出现在此处的其他几篇文章中,但我认为即使我遵循了其中的内容,我仍然没有得到正确的结果。
我在我的 java 类中定义了对 getUriFromFile 的调用:
File imagePath = new File(file.getAbsolutePath());
Uri contentUri = FileProvider.getUriForFile(Objects.requireNonNull(getContext().getApplicationContext()),
packageName+".fileprovider", imagePath);
文件正在保存在文件夹中:/data/data/{packageName}/images
我在我的 AndroidManifest 中这样设置提供程序:
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="{packageName}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>
注意:{packageName} 字面意思是包的名称,例如 com.package.packagename。
最后是我的 provider_paths XML 文件:
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path
name="external"
path="." />
<external-files-path
name="external_files"
path="." />
<cache-path
name="cache"
path="." />
<external-cache-path
name="external_cache"
path="." />
<files-path
name="files"
path="." />
</paths>
我做错了什么?
【问题讨论】:
标签: java android android-manifest android-fileprovider