【问题标题】:Pdf sometimes not loading with google embedded viewer on AndroidPdf 有时无法在 Android 上使用 google 嵌入式查看器加载
【发布时间】:2018-12-31 08:03:47
【问题描述】:

我在我的 android 应用程序中使用 google docs pdf 嵌入式查看器来显示我的 pdf。有时查看器不会加载我的文件,即使大部分时间它会加载,而当它不加载时它是非常随机的。

我使用“https://docs.google.com/viewer?embedded=true&url=”+ myUrl 生成网址。

然后我加载 webview :

    showLoader()
    web_view.settings.javaScriptEnabled = true
    web_view.clearCache(true)
    web_view.webViewClient = object : WebViewClient() {
        override fun onPageFinished(view: WebView?, url: String?) {
            hideLoader()
        }

        override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {
            web_view.loadUrl(url)
            return true
        }

        override fun onReceivedSslError(view: WebView, handler: SslErrorHandler, error: SslError) {
            println("before handler")
            handler.proceed()
            println("after handler")
        }
    }

    web_view.loadUrl(url)

如果遇到任何 sslError,我尝试继续,以覆盖 urlLoading,但这些都没有解决我的问题。

要在这里测试的是不总是加载的网址之一:

http://docdif.fr.grpleg.com/general/MEDIAGRP/NP-FT-GT/LE10061AA.pdf

我也尝试过的一件事是在我的应用程序上显示时显示 url,当它没有在我的查看器上加载时,它也会在我的导航器上阻塞。但如果我重新加载页面,它会收费。

知道错误可能是什么吗?

【问题讨论】:

    标签: android webview google-docs


    【解决方案1】:

    试试这个:

    public void onPageFinished(WebView view, String url) {
        if (view.getTitle().equals(""))
            view.reload();
    }
    

    希望对你有帮助!

    【讨论】:

    • 这为我解决了。为什么这行得通?有时我得到两三个空标题,然后我得到一个标题,它可以显示。我想它正在处理一些东西,但必须有另一种方法来等待它?无论如何,谢谢!
    • 你救了大家!!!!!!!我想给你 10-up,但我做不到。
    猜你喜欢
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    • 2014-01-04
    • 2018-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多