当前位置: 首页 > 知识库问答 >
问题:

共享内部文件:未能找到包含/data/data/com的配置根目录。我的应用程序/应用程序配置文件/配置文件1/游戏/游戏1。xml

龙涵蓄
2023-03-14

我想共享一个文件/data/data/com。我的应用程序/应用程序配置文件/配置文件1/游戏/游戏1。xml通过操作发送

我已将此添加到清单中:

<provider
    android:name="android.support.v4.content.FileProvider"
    android:authorities="com.myapp.fileprovider"
    android:grantUriPermissions="true"
    android:exported="false">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/filepaths" />
</provider>

和我的文件路径。xml是

<paths>
    <files-path path="app_profiles/profile_1/games/" name="myGame" />
</paths>

代码(在XYActivity类中)为:

AlertDialog.Builder builder = new AlertDialog.Builder(this);    
builder.setItems(items, new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int item) {
        ....
        File file = FileManager.getGameFile(gameID);
        Uri fileUri = FileProvider.getUriForFile(XYActivity.this,
                                "com.myapp.fileprovider", file);

我得到以下错误:

java.lang.IllegalArgumentException: Failed to find configured root that contains /data/data/com.myapp/app_profiles/profile_1/games/game_1.xml
    at android.support.v4.content.FileProvider$SimplePathStrategy.getUriForFile(FileProvider.java:739)
    ...

我已经与文件浏览器进行了检查,该文件确实存在!

关于我知道的文件对象

file.getPath()         /data/user/0/com.myapp/app_profiles/profile_1/games/game_1.xml
file.getAbsolutePath() /data/user/0/com.myapp/app_profiles/profile_1/games/game_1.xml
file.getName()         game_1.xml
file.getParent()       /data/user/0/com.myapp/app_profiles/profile_1/games

对于文件路径中的路径。xml我尝试了不同甚至错误的值:

path="app_profiles/profile_1/gamXes/"  
path="app_profiles/profile_1/games/"  
path="app_profiles/profile_1/games"  
path="profile_1/games"  
path="games/"  
path="games"
path="."
path="../games/"

这不会改变任何事情。这意味着他们都错了,我只需要使用正确的值,但我不知道那会是什么/为什么我的值不起作用。

有几个类似的答案,它们对我不起作用

无子目录:FileProvider错误“未能找到包含/data/data/sawbodeployer.entm.illinois.edu…的配置根目录”
外部存储:文件提供程序:未能找到包含java的已配置根目录。lang.IllegalArgumentException:找不到配置的根目录,该根目录包含,多个


共有1个答案

宋新知
2023-03-14

/data/data/com。我的应用程序/应用程序配置文件/配置文件1/游戏/游戏1。xml不是标准位置,FileProvider不支持它<代码>

要么:

>

编写自己的ContentProvider,可以从所需位置提供文件服务

 类似资料:
  • 问题内容: 好的,所以我不想在这里展开一场圣战,但是我们正在努力巩固处理应用程序配置文件的方式,我们正在努力决定采用哪种最佳方法。目前,我们分发的每个应用程序都在使用其自己的临时配置文件,无论是属性文件(ini样式),XML还是JSON(目前仅在内部使用!)。 目前,我们的大多数代码是Java,因此我们一直在研究Apache Commons Config ,但是我们发现它非常冗长。我们还研究了XM

  • 我尝试了一个显示其他响应的测试用例,我将一步一步地解释它: > 我在我的设备上安装了MDM配置文件,这提示我安装了一个应用程序,并且我成功地安装了它。应用程序已进入“应用程序中的配置文件”部分。 然后我手动删除了应用程序。

  • 我试图保存图像到内部存储,我面临: Java代码: 我的路径代码: 我的清单代码: 这上面有什么线索吗?

  • 我试图嵌入下载和共享PDF文件,由另一个PDF阅读器应用程序(DropBox,驱动器PDF阅读器或Adobe阅读器)在Android上使用FileProvider的方式。 然而,我一直得到以下例外: 我首先将URL发送到Android执行下载,然后使用 我的执行情况如下: file_paths.xml Androidanifest.xml 主要活动: 最后,从我的自定义广播接收器: 取自使用通常的

  • 我通过android下载管理器下载视频,并希望分享此视频,我通过Manifas进行跟踪 在文件中path.xml添加以下内容: 并使用此提供程序: 但我得到错误: JAVAlang.IllegalArgumentException:未能找到包含/data/data/sawbodeployer的配置根目录。恩。伊利诺伊州edu/files/AKA1_Fante_加纳_洗手_决赛。3gp 它的问题在哪

  • 我有一个关于android文件提供商的问题。我想保存一个pdf文档并用默认程序打开它。我不想将其保存在外部存储器中。 在我成功地将pdf保存到filedirectory/export/temp之后。pdf, 我尝试使用FileProvider生成URI。getUriForFile()。 问题:我必须传递什么作为第二个参数“Authority”-我的文件的位置、可以授予URI权限的类或其他什么?无论