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性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...