我有一个关于android文件提供商的问题。我想保存一个pdf文档并用默认程序打开它。我不想将其保存在外部存储器中。
在我成功地将pdf保存到filedirectory/export/temp之后。pdf,
我尝试使用FileProvider生成URI。getUriForFile()。
File path = new File(getFilesDir(), "export");
File pdf = new File(path + File.separator + "temp.pdf");
pdf.getParentFile().mkdirs();
if (!pdf.exists())
pdf.createNewFile();
Uri uri = FileProvider.getUriForFile(getApplicationContext(), "?", pdf);
问题:我必须传递什么作为第二个参数“Authority”-我的文件的位置、可以授予URI权限的类或其他什么?无论我尝试了什么,都会导致IllegalArgumentException或NullPointerException。我的文件提供程序(XML):
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.example.myApp.myActivity"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_path"/>
</provider>
引用文件:
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<cache-path name="pdfTemplates" path="export/" />
</paths>
根据FileProvider文件(XML),第二个参数是com.example.myApp.my活动
。那就是
Uri uri = FileProvider.getUriForFile(getApplicationContext(),
"com.example.myApp.myActivity", pdf);
我拿到了。有两个不同的问题
>
我试图从filedirectory获取一个文件,但在我的file_路径中,我只声明了一个到缓存目录的路径。我把它改成了“文件路径”,它就工作了。此错误导致IllegalArgumentException。
我试图嵌入下载和共享PDF文件,由另一个PDF阅读器应用程序(DropBox,驱动器PDF阅读器或Adobe阅读器)在Android上使用FileProvider的方式。 然而,我一直得到以下例外: 我首先将URL发送到Android执行下载,然后使用 我的执行情况如下: file_paths.xml Androidanifest.xml 主要活动: 最后,从我的自定义广播接收器: 取自使用通常的
构建基本的应用程序,并获得IllegalArgument异常:有一个按钮启动相机应用程序,我试图将图像保存到图片。 发现一些类似问题,但无法解决我的问题: Android:FileProvider IllegalArgumentException未能找到包含/data/data/**/files/Videos/final的已配置根目录。mp4 FileProvider“找不到配置的根目录”异常 下
我试图捕捉图像使用相机意图并将其发送到服务器。 我遵循了官方https://developer.android.com/training/camera/photobasics 但是在使用FileProvider从filepath获取Uri时出现异常。 我有个例外 无法找到包含 /storage/emulated/0/Android/data/com.example.app/files/Pictur
我试图发送使用tcp套接字的文件列表,但我得到这个文件提供商错误。谢啦 原因:java。lang.IllegalArgumentException:未能找到包含 文件路径 文件路径。xml manifest.xml:
我的问题是,这个“提供商app”是一个什么样的app?是否有任何Android API,该应用程序应该实现,以作为配置提供商?此配套应用程序如何将配置更改挂钩到中,以便托管应用程序能够检索这些更改? 我在这里问这个问题,因为不幸的是,我在Android文档中没有找到任何引用。
我想共享一个文件通过。 我已将此添加到清单中: 和我的