将存储在Google驱动器中的PDF文件显示到WebView

时间:2018-02-13 02:44:42

标签: android pdf webview

我的应用看起来像: My app screen

这是我的webview代码:

private String myPdfUrl = "https://drive.google.com/open?id=1rquwQNdXeds39Rlb32isX3bjYghHitCV";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    init();

    webView.getSettings().setJavaScriptEnabled(true);

    webView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            view.loadUrl(myPdfUrl);
            return true;
        }
    }
    );
    webView.loadUrl(myPdfUrl);

}

我的问题是:当我使用API​​ 19,21在Genymotion中运行时,它可以工作。但在API 25中,WebView仅显示白屏。

My app screen 2

1 个答案:

答案 0 :(得分:1)

打开

private String myPdfUrl = "https://drive.google.com/open?id=1rquwQNdXeds39Rlb32isX3bjYghHitCV";

private String myPdfUrl = "https://drive.google.com/file/d/1rquwQNdXeds39Rlb32isX3bjYghHitCV/view";

由于Google会将您重定向到另一个网址。

修改

@SuppressLint("SetJavaScriptEnabled")

上方添加onCreate()
//...
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
//...

您必须取消Javascript安全问题:)