在Android WebViewClient中获取空白页面

时间:2012-01-21 06:46:41

标签: android twitter webview webviewclient

我正在尝试打开Twitter链接:http://mobile.twitter.com/pawan_rathore88 在我的活动中。如果我将WebViewClient设置为webview,我将获得空白页面。 但是当我在没有设置任何webviewclient的情况下加载url时,它会正确加载页面。 有谁知道什么可能是一个问题。以下是我的代码段。

webview = (WebView) findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
//if I comment the following line then webpage loads properly in default Android browser.
webview.setWebViewClient(new WebViewClient() {
   public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                 Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show();
               }
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {

    Log.v(tag, "url :" + url);
    view.loadUrl(url);
    return true;
        }
 });
    webview.loadUrl("http://mobile.twitter.com/pawan_rathore88");

谢谢, 爬完

3 个答案:

答案 0 :(得分:1)

调整代码后,它似乎是一个用户代理问题,似乎将其更改为桌面useragent修复了这个问题:

  WebView web = (WebView)findViewById(R.id.webView1);
        web.getSettings().setUserAgentString("Mozilla/5.0 (Macintosh; " +
            "U; Intel Mac OS X 10_6_3; en-us) AppleWebKit/533.16 (KHTML, " +
            "like Gecko) Version/5.0 Safari/533.16");

        String url = "http://mobile.twitter.com/pawan_rathore88";
        web.loadUrl(url);

答案 1 :(得分:0)

目前Twitter存在问题,所有网络工具包移动浏览器都失败了。

答案 2 :(得分:0)

这也是我的问题。加载桌面版本非常好但不是移动版本。如果在默认浏览器上运行,则通常运行Mobile版本。我认为问题不是很好地执行用户字符串代理。但现在找不到它。