其他分享
首页 > 其他分享> > android – 在WebView中打开PDF

android – 在WebView中打开PDF

作者:互联网

我想在我的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 Docs Viewer,你可以在android浏览器中打开它,如,

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

更新:

(2)检查这个library,在build.gradle(app module)中添加这个依赖项,

compile 'com.github.barteksc:android-pdf-viewer:2.8.2'

标签:android,pdf,android-intent,toast,webviewclient
来源: https://codeday.me/bug/20190923/1815196.html