我的网页视图有一个奇怪的问题。我有一个用于显示网页的基本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来源,而且我无法控制该网址。
答案 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