我无法打开“下载文件夹”中的任何文件.

我可以下载一个文件并保存在下载文件夹中:

DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));

request.setDescription(descricao);

request.setTitle(titulo);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {

request.allowScanningByMediaScanner();

request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);

}

request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS,nome);

enq = downloadManager.enqueue(request);

在此之后,我的文件在目录文件夹中保存正确:Android>>内部共享存储>>下载.

***我看到这条路径在ubuntu中手动打开设备的高清.由于图像显示路径.

Android HD by ubuntu folder – see the path

我尝试用这个打开这个文件:

downloadManager = (DownloadManager)getContext().getSystemService(DOWNLOAD_SERVICE);

BroadcastReceiver receiver = new BroadcastReceiver() {

@Override

public void onReceive(Context context,Intent intent) {

String action = intent.getAction();

if(DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(action)) {

long downloadId = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID,0);

DownloadManager.Query query = new DownloadManager.Query();

query.setFilterById(enq);

Cursor c = downloadManager.query(query);

if(c.moveToFirst()) {

int columnIndex = c.getColumnIndex(DownloadManager.COLUMN_STATUS);

if(DownloadManager.STATUS_SUCCESSFUL == c.getInt(columnIndex)) {

String uriString = c.getString(c.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI));

if (uriString.substring(0,7).matches("file://")) {

uriString = uriString.substring(7);

}

File file = new File(uriString);

Uri uriFile = FileProvider.getUriForFile(getContext(),BuildConfig.APPLICATION_ID + ".fileprovider",file);

String mimetype = "application/pdf";

Intent myIntent = new Intent(Intent.ACTION_VIEW);

myIntent.setDataAndType(uriFile,mimetype);

Intent intentChooser = Intent.createChooser(myIntent,"Choose Pdf Application");

startActivity(intentChooser);

}

}

}

}

};

getContext().registerReceiver(receiver,new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));

我在清单中声明我的文件提供程序:

android:name="android.support.v4.content.FileProvider"

android:authorities="${applicationId}.fileprovider"

android:exported="false"

android:grantUriPermissions="true">

android:name="android.support.FILE_PROVIDER_PATHS"

android:resource="@xml/provider_paths"/>

并与此:

但是,当我单击按钮下载时,我收到此消息:“此文件无法访问.请检查位置或网络,然后重试.”

恢复:

1 – 文件已下载并保存在目录文件夹中.

2 – 意图已启动,但文件未打开.

3 – 调试模式在“new File(urlString)”中给出了这个:“urlString = / storage / emulated / 0 / Download / name.pdf”

4 – 在“FileProvider.getUriFromFile …”调试模式具有:

“uriFile = content://com.example.android.parlamentaresapp.fileprovider/Download/name.pdf”

谢谢.

android 下载目录,android – FileProvider – 从下载目录中打开文件相关推荐

  1. android上传sd卡文件格式,Android开发学习:向模拟器的sdcard中添加文件

    向模拟器的sdcard中添加文件有两种方法: 1.在eclipse的DDMS视图中操作 启动eclipse---打开DDMS视图---选择File Explorer,出现下面的窗口 选中sdcard文 ...

  2. android 访问存储卡,Android:无法访问存储在SD卡中的文件

    我正在研究一个读取存储在SD卡(内部/数据/本地)中的.txt文件的应用程序.我遇到的问题是,它似乎可以访问文件路径,但它不能访问文件本身(尽管它具有读取和写入权限),但会引发FileNotFound ...

  3. 显示android缓存文件,android – 使用ACTION_VIEW在缓存目录中打开文件

    我一直在寻找这个,但我无法让它正常工作.让我解释. 我有一个Android应用程序,可以将文件(图像,文档,-)保存在缓存目录中.起初我曾经使用getExternalCacheDir()方法并将它们保 ...

  4. android activity从新打开,【Android开发-8】生命周期,Activity中打开另一个Activity

    前言:生命中有不少人陪伴本身走过一辈子中的某段旅程,仅仅是有些人仅仅是某阶段出现,有些人却陪伴本身很是久.就像小学.中学.高中.大学,那些之前觉得会长久拥有的,当经历过天涯各地地忙碌于生活,或如意.或 ...

  5. linux判断目录是否存在命令,linux shell 中判断文件、目录是否存在的方法

    本文主要介绍了linux shell 中判断文件.目录是否存在的方法,分享给大家 -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为 ...

  6. android studio 2.3.1 r丢失,AndroidStudio中 R文件缺失的办法

    flex自适应小例子 libcurl使用easy模式阻塞卡死等问题的完美解决 引言: 由于要在android手机测进行DM开发, 其中最重要的就是FUMO和SCOMO下载, 下载使用的是linux开源 ...

  7. 微信小程序下载zip压缩包后解压,并且打开文件查看的内容

    在开发pc端后台管理系统的时候,经常会遇到这样的需求:下载zip到本地,然后用户双击压缩包,并借助电脑端的压缩软件打开压缩包,就可以查看里面的word.excel.pdf文件里面的内容.(这种需求,毫 ...

  8. 共享windows目录给vm linux,将windows中的文件夹共享给Linux虚拟机

    按正常步骤安装Linux 安装完成后在Linux系统中安装vmware-tools工具. 选择"编辑虚拟机设置" 4.选择"选项"然后点击"共享文件夹 ...

  9. fopen在linux中打开文件夹,plain C:用fopen()打开一个目录

    C99标准(或C2011标准)中不存在目录.因此,根据定义,打开目录可以是特定于实现的行为,也可以是未定义的行为. fopen(3)可能失败(给出NULL结果). fseek(3)也可能失败(通过返回 ...

  10. 将android程序写入内存,android中将数据写入手机内存和sdcard中的文件

    在android中一般有两种方式: 第一种是写入手机内存的文件,这种方式,文件的存取路径都是在应用包下的 files 文件夹下,其路径是固定的,并不受程序员控制的, FileOutputStream ...

最新文章

  1. 程序员面试题精选100题(08)-求1+2+...+n[C/C++/C#]
  2. 大数据集群中数据互相导通流程汇总(持续更新中)
  3. 最简单的nginx教程 - 如何把一个web应用部署到nginx上
  4. Linux(Fedora21)安装google chrome浏览器
  5. CRecordset类
  6. postman用法_应该是接口测试神器postman最全的用法总结了
  7. python自控_怎么自学python,大概要多久?
  8. Python基础语法知识1
  9. ceph osd heartbeat 分析
  10. Arcgis实现nc数据区域裁剪并输出nc文件
  11. meltdown官方POC原理分析和踩过的坑
  12. LR快捷键 之 图库模式
  13. java 查找 替换_Java 查找替换Excel数据
  14. 前端面试题整理 (ES6篇)
  15. import dlib,报错:ImportError: libcublas.so.10.0: cannot open shared object file: No such file or direc
  16. 【技术文档】centernet(姿态估计)
  17. 查看电脑使用了多长时间
  18. 如何判断是否适合学编程?
  19. ROS-3DSLAM(十一)lvi-sam源代码阅读9
  20. 无聊科技正经事(第1期):裁员毕业潮,你焦虑吗?

热门文章

  1. 亿图图示专家 ((EDraw Max)V5.6 绿色特别版
  2. 程序员工作交接文档怎么写_浅谈程序员该如何做好工作交接?
  3. 谷歌大脑的“世界模型”简述与启发
  4. 计算机怎么删除表格,win10系统下Word2010如何删除表格和表格中内容
  5. java命名规则及规范
  6. MapGIS教程-常见问题处理
  7. 运筹学牛顿法c语言源代码,运筹学与MATlab编程.doc
  8. 网络知识:路由器常见故障分析及处理方法
  9. 4*4矩阵键盘c语言,经典4*4矩阵键盘C51程序
  10. 【高等数学】基本求导法则与导数公式