首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >FileProvider.GetUriForFile ()抛出异常。找不到配置的根目录

FileProvider.GetUriForFile ()抛出异常。找不到配置的根目录
EN

Stack Overflow用户
提问于 2016-01-08 00:40:32
回答 2查看 1.1K关注 0票数 0

这是我的代码,我试图在其中创建一个ContentUri,这样我就可以调用一个pdf查看器。

~位于<Application><authority>内的provider与包名称完全匹配

代码语言:javascript
复制
<provider
    android:name="android.support.v4.content.FileProvider"
    android:authorities="com.company.fileprovider"
    android:exported="false"
    android:grantUriPermissions="true">

    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/file_paths"/>
</provider>

~ xml/filepaths.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" ?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <files-path name="assets" path="Library/OfflineAssets/"/>
</paths> 

~ .cs,但我有例外

代码语言:javascript
复制
var dir = "/data/data/com.tripleplay_services.triplesport/files/../Library/OfflineAssets/xamarin_documentation1_v1.pdf";
var newFile = new File(dir);
if(newFile.Exists ()) {
    var contentUri = FileProvider.GetUriForFile(Context, "com.company.fileprovider", newFile);
}

太棒了!

找不到包含/data/data/com.company/Library/OfflineAssets/xamarin_documentation1_v1.pdf的已配置根

我一切都是照章办事的。我被卡住了,无法继续。

Here is where the exception is thrown。我不知道mRoots.entrySet()中有什么是用来使应用崩溃的。

EN

回答 2

Stack Overflow用户

发布于 2016-01-08 20:22:17

因此,在阅读源代码后,我发现提供程序正在尝试将/data/data/com.package/files/Library/OfflineAssets与/data/data/com.package/../Library/OfflineAssets进行匹配

所以基本上我对android文件目录的理解是不正确的。

确保无论您将文件保存到哪个目录,在<files-path> path属性中,data/data/com.package/ files /都是匹配的。

~已更新的<files-path>

<files-path name="assets" path="../Library/OfflineAssets/" />

票数 0
EN

Stack Overflow用户

发布于 2017-06-21 20:26:16

我遇到了类似的问题(在我的应用程序中,我试图调用相机而不是PDF查看器),但后来我发现我的代码中有一个拼写错误。拼写错误出现在AndroidManifest.xml中,准确地进入了“当局”一行的标签中。

对我来说,

代码语言:javascript
复制
android:authorities="com.stackoverflow.test.camerawithfileprovider.fileprovider"

不工作(当我调用摄像头实例时,应用程序崩溃),但如果我删除"file“并将该字符串替换为以下内容:

代码语言:javascript
复制
android:authorities="com.stackoverflow.test.camerawithfileprovider.provider"

我的应用程序运行流畅(应用程序拍摄照片,存储照片,并在客户端应用程序中返回活动预览)。

你的应用程序也有同样的问题吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34660545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档