【问题标题】:"no preview available" while viewing pdf in google docs in android webview在android webview中查看google docs中的pdf时“没有可用的预览”
【发布时间】:2018-06-01 13:37:37
【问题描述】:

使用 google doc 链接在 android 的 webview 中打开 pdf 时:-

webView.loadUrl("http://docs.google.com/gview&embedded=true&url=" + getIntent().getStringExtra(CONSTANT.pdfurl));

对于一些 pdf

"no preview availbale"

发生在网络视图中 ,对于某些 pdf 它总是会发生,我知道这个问题已经被问了好几次,并且已经看过所有的 stackoverflow 和互联网,但找不到任何令人满意的解释。

如何知道在谷歌文档中查看 pdf 时何时发生“无可用预览”以及如何解决此问题

进度条自动停止,不显示任何内容 有时

这是我的完整实现代码:-

webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setBuiltInZoomControls(true);

progressBar.setVisibility(View.VISIBLE);

webView.loadUrl("http://docs.google.com/gview&embedded=true&url=" + getIntent().getStringExtra(CONSTANT.pdfurl));

webView.setWebViewClient(new WebViewClient() {

            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {

                super.onPageStarted(view, url, favicon);
                progressBar.setVisibility(View.VISIBLE);

            }

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return false;
            }
            @Override
            public void onPageFinished(WebView view, String url) {
                // do your stuff here
                progressBar.setVisibility(View.GONE);
                webView.setVisibility(View.VISIBLE);
            }

            @Override
            public void onReceivedError(WebView view, int errorCode,
                                        String description, String failingUrl) {
                view.loadUrl("about:blank");
                Toast.makeText(getApplicationContext(), "Error occured, please check newtwork connectivity", Toast.LENGTH_SHORT).show();
                super.onReceivedError(view, errorCode, description, failingUrl);
            }

   });

我确定的一件事是,在 http 网站中,它比 https 网站更频繁地发生。如何解决这个问题?

有什么方法可以在不更改网站的情况下将 url 从 http 转换为 https 吗?

【问题讨论】:

  • 你找到解决办法了吗?
  • 没有,如果你找到了,请告诉。
  • 有人找到解决方案了吗?我仍然面临这个问题。
  • 这个问题解决了吗?任何更新。
  • 在加载前尝试对url进行编码,查看这里stackoverflow.com/a/67245546/1843984

标签: android webview google-docs


【解决方案1】:

检查您的 pdf 路径可能会像 (https://docs.google.com/gview?embedded=true&url=null) 一样为空

或者用intent打开pdf我觉得很简单

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(pdf_url));
startActivity(browserIntent);

【讨论】:

  • 好主意,我不知道为什么我使用了gview方法。
【解决方案2】:

出现的原因之一,

“没有可用的预览”

在 WebView 中加载 PDF 时,Google Doc 对向其发出的每个请求施加的带宽限制。

根据他们的文档,为了帮助保持我们的系统健康和您的帐户安全,所有 Google Apps 帐户都分配了有限的带宽`

要了解更多信息,请查看以下链接,

1.https://support.google.com/a/answer/1071518?hl=en
2.Reaching the bandwidth limit for viewing pdf files in WebView through Google docs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-21
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    • 2015-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多