2

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を制御できません。

4

1 に答える 1

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をロードする際の問題。

WebViewのAndroidモバイルTwitterページが開かない?

また、モバイル版のTwitterにリダイレクトされない場合は、モバイルを追加するだけです。つまり、mobile.twitter.com

于 2012-08-22T00:16:28.227 に答える