Android WebView无法正确呈现网页

时间:2012-08-22 00:08:20

标签: android webview

我的网页视图有一个奇怪的问题。我有一个用于显示网页的基本webview。这在大多数情况下都适用,但有一个站点特别是不呈现。我不知道如何开始调试此问题。这是我对webview的初始化代码:

    webView = (WebView) findViewById(R.id.rss_webView);
    webView.setWebViewClient(new WebViewClient() {

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
            view.loadUrl(url);
            return true;
        }
    });

    webView.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress)
        {

            pb.setProgress(progress);


            if (progress == 100)
                pb.setVisibility(View.GONE);
            else
                pb.setVisibility(View.VISIBLE);

        }


    });

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

    webView.loadUrl(URL);

遇到问题的网址是:http://twitter.com/AdamSchefter/statuses/236553635608285184

此页面(和其他推特页面)在屏幕上呈现为空白灰色方块,没有内容。

我注意到如果我使用普通的Android浏览器打开网址,它会被重定向到移动版本。据我所知,webview不会这样做。在shouldOverrideUrlLoading()方法中设置断点时,我没有收到任何重定向网址。

我已经扫描了logcat以查找任何错误迹象。我认为webview根本不会执行任何记录来记录cat(除了没有加载webview),因为那里什么都没有。

我不确定如何追踪这个问题。有什么想法吗?

我需要显示许多Twitter来源,而且我无法控制该网址。

1 个答案:

答案 0 :(得分:3)

  

通过在我的代码中添加以下行

来完成
webView.getSettings().setUserAgentString("Mozilla/5.0 (Linux; U;`
Android 2.0; en-us; Droid Build/ESD20) AppleWebKit/530.17 (KHTML, like
Gecko) Version/4.0 Mobile Safari/530.17");
     

我是在stackoverflow上的这篇文章中得到的。在webview中加载mobile.twitter的问题。

android mobile twitter page in webview not opening?

此外,如果它没有将您重定向到Twitter的移动版本,您只需将移动版附加到它,即mobile.twitter.com