3

Facebook、Twitter、およびWebページを開くために次の方法を使用しています。

private void showAddDialog(String ur) {

        final Dialog nagDialog = new Dialog(this,
                android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
        nagDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        nagDialog.setContentView(R.layout.airwebview);

        final WebView webView = (WebView) nagDialog
                .findViewById(R.id.webView_AboutWebsite);
        Button mCancelButton = (Button) nagDialog
                .findViewById(R.id.button_CancelButton);

        mCancelButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                nagDialog.dismiss();
            }
        });

        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings()
                .setUserAgentString("silly_that_i_have_to_do_this");
        webView.getSettings().setDomStorageEnabled(true);
        webView.loadUrl(ur);

        nagDialog.show();
    }

Facebookやその他のWebサイトを正常に起動できましたが、内のTwitterWebページを開くことができませんでしたWebView

私はこれまでTwitterを開くために以下を使用しましたが、まだ成功していません。

webView.getSettings().setDomStorageEnabled(true);

mWebView.getSettings().setUserAgentString("Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3");

これに対する解決策は何でしょうか?

4

1 に答える 1

1

リダイレクト URL をロードするために shouldOverrideUrlLoading メソッドをオーバーライドする WebViewClient を設定した後、私の電話で正常に動作するコードを確認します。

private class MyWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }

WebViewClient を追加していない場合、Twitter によってデフォルトの Web ブラウザー (私の場合は Chrome) にリダイレクトされました。

これが役立つかどうかを確認してください。

于 2012-12-15T12:20:38.763 に答える