我想在WebView中打开PDF,然后在此论坛上找到并合并了代码。

尽管我安装了多个PDF应用程序,包括Adobe Reader,但它捕获了“未找到PDF应用程序”。

这里的代码:

private class PsvWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);

            if (url.contains(".pdf")) {
                Uri path = Uri.parse(url);
                Intent pdfIntent = new Intent(Intent.ACTION_VIEW);
                pdfIntent.setDataAndType(path, "application/pdf");
                pdfIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

                try
                {
                    startActivity(pdfIntent);
                }
                catch(ActivityNotFoundException e)
                {
                    Toast.makeText(PsvWebViewActivity.this, "No PDF application found", Toast.LENGTH_SHORT).show();
                }
                catch(Exception otherException)
                {
                    Toast.makeText(PsvWebViewActivity.this, "Unknown error", Toast.LENGTH_SHORT).show();
                }

            }

            return true;
        }   } }

最佳答案

(1)Google文档查看器,您可以在android浏览器中将其打开,例如,

mWebView.loadUrl("https://docs.google.com/gview?embedded=true&url="+ webUrl);

更新:

(2)检查此library,在 build.gradle (应用模块)中添加此依赖项,
compile 'com.github.barteksc:android-pdf-viewer:2.8.2'

10-07 13:17
查看更多