我正在尝试打开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");
谢谢, 爬完
答案 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版本。我认为问题不是很好地执行用户字符串代理。但现在找不到它。