1.下载PDF文件到本地

 private void downFile(){String urlString = "http://14.215.72.79/file3.data.weipan.cn/61710973/8e6cfb727a439608032a222755e9c8e366cfb252?ip=1499330937,183.14.31.194&ssig=gpMUwXAXDI&Expires=1499331537&KID=sae,l30zoo1wmz&fn=%E6%9D%83%E5%A8%81%E6%95%B0%E7%8B%AC%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A.pdf&skiprd=2&se_ip_debug=183.14.31.194&corp=2&from=1221134&wsiphost=local";try {URL url = new URL(urlString);HttpURLConnection connection = (HttpURLConnection)url.openConnection();connection.setRequestMethod("GET");connection.setDoInput(true);connection.setDoOutput(true);connection.setUseCaches(false);connection.setConnectTimeout(5000);connection.setReadTimeout(5000);//实现连接connection.connect();if (connection.getResponseCode() == 200) {InputStream is = connection.getInputStream();//以下为下载操作byte[] arr = new byte[1];ByteArrayOutputStream baos = new ByteArrayOutputStream();BufferedOutputStream bos = new BufferedOutputStream(baos);int n = is.read(arr);while (n > 0) {bos.write(arr);n = is.read(arr);}bos.close();String path = Environment.getExternalStorageDirectory()+ "/download/";String[] name = urlString.split("/");path = path + name[name.length - 1];File file = new File(path);FileOutputStream fos = new FileOutputStream(file);fos.write(baos.toByteArray());fos.close();//关闭网络连接connection.disconnect();Log.d("下载完成","下载完成");openPDF(file);//打开PDF文件}} catch (Exception e) {// TODO: handle exceptionSystem.out.println(e.getMessage());}}

2.打开PDF文件

private void openPDF(File file) {if (file.exists()) {Log.d("打开","打开");Uri path1 = Uri.fromFile(file);Intent intent = new Intent(Intent.ACTION_VIEW);intent.setDataAndType(path1, "application/pdf");intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);try {startActivity(intent);}catch (Exception e) {Log.d("打开失败","打开失败");}}}

3.新建一个线程调用下载方法

findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {new Thread(){@Overridepublic void run() {super.run();downFile();}}.start();}});

注意:有些手机可能默认了文件的打开方式为WPS,WPS软件有时候是不能打开PDF文件的,这时就会出现一闪而过的情况

Android下载并打开PDF文件相关推荐

  1. android pdf下载 打开方式,Android下载并打开pdf文件

    System.out.println("我点击了按钮"); String urlString = "http://public.dhe.ibm.com/common/ss ...

  2. android手机自动打开pdf文件夹,一种告诉您如何在Android手机上打开PDF文件的方法...

    许多办公室工作人员将选择PDF作为文件传输格式,而不是办公室文件格式. 原因是PDF文件在手机中打开时不会改变布局. 手机使用了哪些字体和字体?由于系统和软件的版本,或多或少会更改Office文档. ...

  3. Android:下载后打开PDF格式文件

    首先是下载,不再赘述. 然后定义打开pdf的Intent /*** Get PDF file Intent*/public Intent getPdfFileIntent(String path){I ...

  4. Android用PdfRenderer类开发打开pdf文件的功能

    PdfRenderer是Android官方用于开发打开pdf文件功能的类,今天介绍一下它的最基本的使用.Android官方有一个相关的Sample,项目名是PdfRendererBasic,大家也可以 ...

  5. 微信公众号,点击按钮打开pdf文件流,安卓跳转到浏览器里下载,ios可预览但默认不能下载

    微信公众号,点击按钮打开pdf文件流,安卓跳转到浏览器里下载,ios可预览但默认不能下载 注:在pc上开始时采用这两种方式是没有效果的,或者打开的是空页面,但上线到公众号是没有问题的!!!!!!!!! ...

  6. Android 应用内部打开PDF、Excel、Word文档你们Get了么?

    为什么需要在Android应用内打开PDF.Word.Excel等文档? 由于公司项目有一部分功能是能观看新闻,但是这些新闻的内容并不都是一个HTML或者链接直接可以使用Android WebView ...

  7. uniapp通过url或base64打开pdf文件

    1.通过url打开pdf文件: //通过url打开pdf文件openPdfFileByUrl(pdfUrl: string) {uni.showLoading({title: "下载中,请稍 ...

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

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

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

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

最新文章

  1. Linux内部的时钟处理机制全面剖析
  2. Vue组件的生命周期
  3. constexpr函数
  4. javascript 之----eval的用法
  5. ObjectFactory对象工厂类
  6. java final的内存_Java并发编程之final域的内存语义
  7. 【软件开发底层知识修炼】十 链接器-main函数不是第一个被执行的函数
  8. centos 安装mysql客户端_linux下mysql的yum源安装/配置/卸载
  9. linux通过mail命令发送到外部邮件
  10. Sublime配置java运行环境
  11. 人工智能第四课:机器学习的数学基础
  12. 联合分布(二):联合分布
  13. linux 内核代码阅读工具,linux内核源码阅读工具
  14. 世界时钟-国家中英文名称-国家代码-与北京的时差 一览
  15. IB课程体系的优缺点介绍
  16. 诚之和:哔哩哔哩1.18亿拿下支付牌照
  17. PC传输图片到Hololens
  18. .gitignore文件
  19. 【Mysql】Communications link failure,The last packet sent successfully to the server was 0 millisecond
  20. Pnet抓包工具Wireshark提示end of file on pipemagic during open

热门文章

  1. PS出现“不能完成命令,因为没有足够内存(RAM)”的解决方案
  2. Adam和学习率衰减(learning rate decay)
  3. win7 wifi共享设置
  4. linux报错Loading mirror speeds from cached hostfile解决方法
  5. 惠普笔记本无法调节亮度解决办法【成功解决记录贴】
  6. 正则表达式里面 .* 和 .*?,\s与\S(大写)的区别
  7. 射频功率的快速测量法
  8. 华为网管地址配置实验
  9. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java智能物流管理系统k852w
  10. Base64编码和图片转化