3

我正在使用以下方法打开 Facebook、Twitter 和网页:

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 和其他网站,但无法打开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

我检查了您的代码,在我设置了覆盖 shouldOverrideUrlLoading 方法以加载重定向 URL 的 WebViewClient 后,它在我的手机上工作正常。

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

当我没有添加 WebViewClient 时,推特让我重定向到默认的网络浏览器,在我的例子中是 Chrome。

检查这是否对您有帮助。

于 2012-12-15T12:20:38.763 回答