Webビューに奇妙な問題があります。Webページを表示するために使用する基本的なWebビューがあります。これはほとんどの場合機能しますが、特にレンダリングされないサイトが1つあります。この問題のデバッグを開始する方法がわかりません。Webビューの初期化コードは次のとおりです。
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);
問題が発生しているURLは次のとおりです。http: //twitter.com/AdamSchefter/statuses/236553635608285184
このページ(および他のTwitterページ)は、コンテンツのない画面上で空白の灰色の正方形としてレンダリングされます。
通常のAndroidブラウザでURLを開くと、モバイルバージョンにリダイレクトされることに気づきました。私が知る限り、webviewはこれを行いません。shouldOverrideUrlLoading()メソッドでブレークポイントを設定すると、リダイレクトURLを受け取りません。
logcatをスキャンして、エラーの兆候がないか調べました。そこには何もないので、webviewはcatをログに記録するためのロギングをまったく実行しないと思います(webviewがロードされたということを除いて)。
この問題を追跡する方法がわかりません。何かご意見は?
表示する必要のあるTwitterソースがたくさんあり、URLを制御できません。