/*** android获取一个用于打开PDF文件的intent** @param path 要打开的文件的绝对路径* @return*/public Intent getPdfFileIntent(String path) {Intent intent = new Intent(Intent.ACTION_VIEW);//Intent.ACTION_VIEW = "android.intent.action.VIEW"intent.addCategory(Intent.CATEGORY_DEFAULT);//Intent.CATEGORY_DEFAULT = "android.intent.category.DEFAULT"intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);Uri uri;if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {uri = FileProvider.getUriForFile(MainActivity.this, "pdf.test.jxl.base64topdf.fileProvider", new File(path));} else {uri = Uri.fromFile(new File(path));}intent.setDataAndType(uri, "application/pdf");return intent;}

网上找了很多的第三方应用打开pdf文件,但是都没有反应;

忽略了android 7.0的一个权限问题,7.0后打开文件或者路径需要使用FileProvider,

首先在中加入

  <providerandroid:name="android.support.v4.content.FileProvider"android:authorities="pdf.test.jxl.base64topdf.fileProvider"android:grantUriPermissions="true"android:exported="false"><meta-dataandroid:name="android.support.FILE_PROVIDER_PATHS"android:resource="@xml/file_paths" /></provider>

注意;如果FileProvider找不到那么,在build.gride中加入

implementation 'com.android.support:support-v4:26.1.0'

然后再res下面创建xml文件夹,再创建file_paths.xml,

<?xml version="1.0" encoding="utf-8"?>
<paths>//代表的目录即为:Environment.getExternalStorageDirectory()/Android/data/包名/<external-pathname="files_root"path="Android/data/包名/" />//代表的目录即为:Environment.getExternalStorageDirectory()<external-pathname="external_storage_root"path="." />//代表的目录即为:Environment.getExternalStorageDirectory()/pics<external-pathname="external"path="pics" /></paths>

使用第三方应用打开pdf文件相关推荐

  1. 打开PDF文件弹出阅读未加标签文档的解决方法

    打开PDF文件弹出阅读未加标签文档的解决方法 参考文章: (1)打开PDF文件弹出阅读未加标签文档的解决方法 (2)https://www.cnblogs.com/Tty725/p/3308065.h ...

  2. Ubuntu 命令行打开pdf文件和打开命令行当前目录

    今天发现一个在Ubuntu 上打开pdf文件的命令,很好用,特此记录!~ xdg-open xxxx.pdf gnome-open . nautilus . 喜欢把它alias一下 .bashrc a ...

  3. Linux 下从命令行打开pdf文件和html文件的命令

    Linux 下从命令行打开pdf文件和html文件的命令 [日期:2012-06-18] 来源:Linux社区 作者:hipercomer [字体:大 中 小] 如果你经常工作在Linux终端下,某个 ...

  4. PDF文件上载图标,与启用浏览器浏览允许后依然无法在浏览器打开PDF文件的解决方案...

    1. 在网站上显示PDF文件的图标,具体步骤如下:     1) 准备好一张16 x 16 的GIF图片,作为PDF的图标.     2) 把这个图标复制到 "C:\Program File ...

  5. [html] 如何在页面打开PDF文件?

    [html] 如何在页面打开PDF文件? 移动端如果是安卓的不太能实现直接打开PDF文件,需要使用pdfjs将pdf转换成canvas,再在页面上展示 个人简介 我是歌谣,欢迎和大家一起交流前后端知识 ...

  6. python 打开pdf文件_Python3检验pdf文件是否有效

    [基本原理] 利用PyPDF2的PdfFileReader模块打开pdf文件,如果不抛异常,就认为此pdf文件有效.有时打开并不抛出异常,但是有这种警告:UserWarning: startxref ...

  7. Ubuntu 在终端下使用命令行打开pdf文件

    终端下使用命令行打开pdf文件 > evince  <文件名>& 使用evince命令在后台打开 使用鼠标打开感觉怪怪的

  8. 打开pdf文件提示文件过大_pdf文件太大如何用pdf转换工具进行压缩?

    PDF文件如果是由许多高清图片组合而成的,一般来说所占的空间都会比较大,这样的话我们在传输文件的时候时间会很长不太方便.那我们可以将PDF文件进行压缩变小这样可以大大提高我们的工作效率.那PDF文件过 ...

  9. 如何复制权限受限PDF文件的内容(亲测有效,Microsoft Edge打开pdf文件)

    如何复制权限受限PDF文件的内容(亲测有效,Microsoft Edge打开pdf文件) 当我们阅读大型pdf文档资料时,会有做笔记的习惯,刚开始打字做笔记还好,但后面发现有用的内容好像有点多,于是选 ...

最新文章

  1. adc 接收cube_官方的stm32cube软件教程实例ADC操作代码(官方自带的,可以无视
  2. go语言的defer语句
  3. java 集合数组初始化_Java用Arrays.asList初始化ArrayList实例方法
  4. 动画理解Dijkstra算法过程
  5. 【TensorFlow-windows】keras接口——卷积核可视化
  6. linux执行windows创建的脚本,如何在Windows 10上创建和运行Bash Shell脚本 | MOS86
  7. 产品经理思维模型:从品牌营销的角度看用户
  8. Java poi读取,写入Excel2003
  9. Git简单命令 学习资源贴
  10. python tkinterRadiobutton控件
  11. 劲牌——业务流程管理方案
  12. 广发银行薪资待遇JAVA_广发银行薪资待遇如何?
  13. 23、Camunda DMN决策初探
  14. 羞涩!紧张!!兴奋!!!
  15. 区块链随机数-区块链随机数的实现方案
  16. chm提示 已取消到该网页的导航的解决方法
  17. 【脚本小子狂喜】日常实用脚本推荐
  18. 关闭oracle job定时任务,oracle job 定时任务,定时执行
  19. file.getOriginalFilename()
  20. 红旗linux中科红旗发布Linux7.0 RC1桌面版操作系统

热门文章

  1. leetcode_714. 买卖股票的最佳时机含手续费
  2. 【Git】push 分支报错 error: failed to push some refs to...
  3. 计算机硬件发展慢,老电脑卡慢应该更换哪些硬件?看完秒懂
  4. vs X64汇编 LNK2001: unresolved external symbol mainCRTStartup
  5. vue实现微信扫码拨打电话
  6. Ant批量打包工具的使用
  7. 【Python机器学习预测分析算法实战五】最小角回归LARS
  8. MaxCompute SQL大数据公开数据集实战
  9. rgb 与 #开头16进制 HEX颜色值关系转换,颜色值透明度的百分数对应十六进制表
  10. 命令行工具 DOT和DOH测试