我想共享一个文件/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:找不到配置的根目录,该根目录包含,多个
/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权限的类或其他什么?无论