实现起来,稍稍简单,无非就是先下载,然后再打开,记住一点:如果已经下载,就直接打开。具体代码如下:联网下载请更换自己项目中的

public class PdfHttpDownloader {private Context context;

    public PdfHttpDownloader(Context context) {this.context = context;
    }/**
     * 打开pdf
     * pdf:PDF url
     * name:pdf文件的名字
     */
    public void startPdfActivity(String pdf, String name) {String terPath = getSDPath() + "/trader/" + name + ".PDF";
        File file = new File(terPath);
        if (file.exists()) {Intent intent = getPdfFileIntent(terPath);
            context.startActivity(intent);
        } else {downLoadPdf(pdf, name);
        }}public Intent getPdfFileIntent(String path) {Intent i = new Intent(Intent.ACTION_VIEW);
        i.addCategory(Intent.CATEGORY_DEFAULT);
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        Uri uri = Uri.fromFile(new File(path));
        i.setDataAndType(uri, "application/pdf");
        return i;
    }public void downLoadPdf(final String pdf, final String name) {Request request = new Request.Builder().url(pdf).get().build();
        OkHttpClient http = new OkHttpClient();
        http.newCall(request).enqueue(new com.squareup.okhttp.Callback() {@Override
                    public void onFailure(Request request, IOException e) {}@Override
                    public void onResponse(Response response) {InputStream is = null;
                        byte[] buf = new byte[1024];
                        int len = 0;
                        FileOutputStream fos = null;
                        String terPath = null;
                        File file = null;
                        try {is = response.body().byteStream();
                            terPath = getSDPath() + "/trader/" + name + ".PDF";
                            file = new File(terPath);
                            fos = new FileOutputStream(file);
                            while ((len = is.read(buf)) != -1) {fos.write(buf, 0, len);
                            }fos.flush();
                            //下载成功
                            if (file.exists()) {Intent intent = getPdfFileIntent(terPath);
                                context.startActivity(intent);
                            }} catch (Exception e) {e.printStackTrace();
                        } finally {try {if (is != null)is.close();
                            } catch (IOException e) {}try {if (fos != null)fos.close();
                            } catch (IOException e) {}}}});
    }private String getSDPath() {File sdDir = null;
        boolean sdCardExist = Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);   //判断sd卡是否存在
        if (sdCardExist) {sdDir = Environment.getExternalStorageDirectory();//获取跟目录
        }return sdDir.toString();
    }
}

Android用浏览器打开pdf文件相关推荐

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

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

  2. Android下载并打开PDF文件

    1.下载PDF文件到本地 private void downFile(){String urlString = "http://14.215.72.79/file3.data.weipan. ...

  3. linux浏览器打开pdf文件,linux下的pdf浏览器(可加批注)

    20170622注: 现在foxit reader已经有了linux版了.基本可以代替其他软件了. ################################################## ...

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

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

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

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

  6. 如何在浏览器打开pdf文件头部隐藏菜单栏?

    领导看到pdf的菜单栏不舒服,要你隐藏 在pdf链接上拼接"#scrollbars=0&toolbar=0&statusbar=0"即可 eg:https://sh ...

  7. html苹果怎么打开pdf文件,苹果手机怎么打开pdf格式的文件(这里介绍三种最实用的方法)...

    将Word.PPT转换成PDF文件就能很好地保留原文件格式:或者把Excel文件转换成PDF文件来保存,就能保护里面的数据不被随意改动,因此也就确保了数据的安全性.那么PDF文件该怎么打开浏览呢?如何 ...

  8. 解决edge浏览器无法打开pdf文件问题

    解决edge浏览器无法打开pdf文件问题 事情起因 处理过程 看书想法 总结 事情起因 今天在做题的过程中不经意间在评论区看题解的过程中看到一个评论推荐的一本书,经过对书的一波查阅和调研之后,决定快速 ...

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

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

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

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

最新文章

  1. 不止Markov决策过程,全景式分析强化学习研究内容
  2. 数学表达式一键变图,CMU开发实用工具Penrose,堪称图解界LaTeX(附链接)
  3. dns学习笔记04-配置slave区域
  4. 关于JavaScript(脚本语言)
  5. 消息服务器怎么测试,如何对服务器性能进行测试
  6. 阿里云混合云的政企上云新路径
  7. matlab产生正态分布样本
  8. star-cd linux安装,linux 使用PXE方式,kickstar网络安装系统
  9. python3.6生成exe_Python 3.6打包成EXE可执行程序的实现
  10. 1.php查询数据,查询数据 - ThinkPHP 5.1 完全开发手册
  11. Linux下设计一个简单的线程池
  12. 将byte数组写进文件,指定buffer size
  13. goldendict设置使用vlc或mplayer发音
  14. 大背景在网页设计中应用的30个优秀案例
  15. {ubuntu}乱七八糟重命名为1 2 3.....png
  16. getshell工具下载批量ecshop4.0全版本通杀工具下载
  17. C盘清理方法汇总:SpaceSniffer与Windows.edb
  18. 在个人博客网站上添加QQ邮箱的邮我功能
  19. TortoiseSVN删除前任账号,添加自己账号
  20. CSS3使用一个盒子实现太极图案

热门文章

  1. ios12安装描述文件失败问题
  2. Markdown常用样式
  3. 谷歌fireBase推送
  4. 转:我用了18年,才可以和你一起喝咖啡
  5. BOM类型转换——>EBOM、MBOM、PBOM
  6. 联想笔记本小新V2000怎么进BIOS设置
  7. Preparing Your Data for Use with robot_localization 准备 robot_localization 数据
  8. excel 取消合并单元格
  9. 苏州企业如何免费办理软件著作权
  10. 运行npm install 出现thon Python is not set from command line or npm configuration解决方案