如何使用Web视图在androd应用程序中下载和显示Pdf文件

时间:2017-08-22 05:11:56

标签: android pdf-viewer

我正在开发一个Android应用程序,我在Web视图中显示pdf文件。代码如下

pDialog = new ProgressDialog(Units.this);
    pDialog.setTitle("Please Wait");
    pDialog.setMessage("Loading...");
    pDialog.setIndeterminate(false);
    pDialog.setCancelable(false);
    webview = (WebView) findViewById(R.id.webView1);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
            pDialog.show();
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            pDialog.dismiss();
        }
    });
    String pdf = "http://XX.xxx.xx.xxx/webservice/testbook.pdf";
    webview.loadUrl("http://docs.google.com/gview?embedded=true&url=" + pdf);
}

工作正常。但是每当它被调用时它都会下载pdf。我希望它只能在缓存或临时内存(不在外部目录中)下载一次,并且可以在应用程序中查看,直到删除它为止。

1 个答案:

答案 0 :(得分:2)

WebView主要用于在您的应用中加载网页。对于您的问题,我认为WebView不是一个选项。 您可以按照以下步骤操作

  1. 下载pdf文件。像普通文件一样。(不使用WebView)
  2. 保存到存储。
  3. 显示到用户界面
  4. 下次应用加载时,显示文件是否存在,否则再次下载。

    同时检查PDFRenderer