Android下载并打开pdf文件
Android下载并打开pdf文件
hejunbinlan 发表于3年前
Android下载并打开pdf文件
  • 发表于 3年前
  • 阅读 91
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: 下载并打开pdf文件,前提是手机上有可打开pdf文件的应用

System.out.println("我点击了按钮");

      String urlString = "http://public.dhe.ibm.com/common/ssi/ecm/en/wsd14109usen/WSD14109USEN.PDF";

      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();

        

        System.out.println("connection.getResponseCode()="+connection.getResponseCode());

        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];

          System.out.println("name="+name);

          System.out.println("path="+path);

          File file = new File(path);

          FileOutputStream fos = new FileOutputStream(file);

          fos.write(baos.toByteArray());

          fos.close();

          //关闭网络连接

          connection.disconnect();

          System.out.println("下载完成");

                if (file.exists()) {

              System.out.println("打开");

                  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 (ActivityNotFoundException e) {

                  System.out.println("打开失败");

                  }

              }

        }

      } catch (IOException e) {

        // TODO: handle exception

        System.out.println(e.getMessage());

      }



标签: Android PDF
共有 人打赏支持
粉丝 38
博文 528
码字总数 21018
×
hejunbinlan
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: