manifest.xml提供商
<!-- File Provider -->
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.example.test.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
资源文件
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="external_files" path="."/>
</paths>
使用fileprovider
Uri uri = FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName() + ".fileprovider", file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "*/*");
intent.startActivity(intent);
参考:此处
描述:我无法使用此文件提供程序打开图像、文本文件、pdf。当我打开文件文本文件时,它的give me ERR\u UNKNOWN\u URL\u方案。如果我打开图片或pdf,它什么都不显示
您需要将“FLAG\u GRANT\u READ\u URI\u PERMISSION”标志添加到您的意图中:
Uri uri = FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName() + ".fileprovider", file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "*/*");
intent.addFlags(FLAG_GRANT_READ_URI_PERMISSION);
intent.startActivity(intent);
https://developer.android.com/reference/android/content/Intent.html#FLAG_GRANT_READ_URI_PERMISSION
FLAG\u GRANT\u READ\u URI\u权限如果设置,此意图的接收者将被授予对意图数据中的URI和其ClipData中指定的任何URI执行读取操作的权限。当应用到意图的ClipData时,将授予所有uri以及通过意图项中的数据或其他ClipData的递归遍历;仅使用顶级意图的授权标志。
问题内容: 我正在使用selenium脚本,在其中尝试下载Excel文件并为其指定特定名称。这是我的代码: 无论如何,我可以给下载的文件指定一个特定的名称吗? 码: 问题答案: 您不能通过硒指定下载文件的名称。但是,您可以下载文件,在下载的文件夹中找到最新文件,然后根据需要重命名。 注意:从Google搜索中借用的方法可能有错误。但是你明白了。
问题内容: 我正在尝试使用Echo提供多个文件,但并非每次都可以。api代码如下所示: 确切地说,它确实适用于最初的文件获取,但是随后对于任何后续调用(无论是文件获取还是更多的“经典”调用)都会失败。对于每个浏览器,错误消息都有所不同: 在Chrome中: 语法错误:无法在’XMLHttpRequest’上执行’setRequestHeader’:’Bearer {the_entire_conte
我已经创建了一个函数来使用URL从文件中获取文本。该函数使用jQuery的来获取文件。这个函数工作得很好,但这里的问题是是异步的,所以输出的顺序是不可预测的。我尝试将它更改为同步的,但它完全冻结了页面。我尝试过等待它响应,我想我会花点时间,但它没有起作用。 这是我的密码。 此函数输出 这就产生了一个问题,因为我无法文件的内容,因为它还没有加载,因为异步的get函数。那么,有没有办法告诉函数等待返回
我正在使用一个selenium脚本,试图下载一个Excel文件并给它一个特定的名称。这是我的代码: 我可以给正在下载的文件一个特定的名称吗? 代码:
问题内容: 我需要处理分散在各个目录中的多个文件。我想将所有这些加载到单个RDD中,然后在其上执行map / reduce。我看到SparkContext能够使用通配符从单个目录加载多个文件。我不确定如何从多个文件夹加载文件。 以下代码段失败: 这在第三个循环中失败,并显示以下错误消息: 鉴于我仅提供了两个参数,所以这很奇怪。任何指针表示赞赏。 问题答案: 措辞如何呢? 在Scala中,有两种变体
问题内容: 首先,我对Java非常基础。我正在尝试浏览.txt文件并将其内容加载到文本区域。我已经完成了该部分,直到从JFileChooser接收文件为止,现在我不知道如何做其余的工作。 问题答案: 使用所有Swing文本组件都支持的read(…)和write(…)方法。简单的例子: