如何使用 webview 在 android 应用程序中下载和显示 Pdf 文件

How to download and Show a Pdf File in androd app with web view

我正在开发一个 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。我希望它应该只在缓存或临时内存中下载一次(不在外部目录中)并在应用程序中可见,直到它被删除。

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

  1. 下载pdf文件。像普通文件一样。(不使用 WebView)
  2. 保存到存储。
  3. 显示到 UI

下次加载应用程序时,如果文件存在则显示,否则重新下载。

同时检查 PDFRenderer