reCAPTCHA在Android Webview中不呈现

时间:2014-07-07 21:47:04

标签: android android-webview recaptcha

我有一个Android应用,将用户重定向到包含reCAPTCHA问题的网页。以前,我只是通过打开浏览器窗口并将用户指向那里来实现这一点。最近,我改为使用webview代替更好的用户体验,但问题是现在由于某种原因,reCAPTCHA问题没有呈现在页面上;其他一切正常。为什么会这样,我该如何解决?我认为这必须与从webview(www.google.com)访问不同的域有关,但不确定如何配置不同的东西,这不是问题。以下是我设置Webview的方法。请注意,重写的方法用于处理可能在此Webview中发生的某些OAuth授权过程。即使我发表评论,我也有同样的问题。

        WebView myWebView = (WebView) findViewById(R.id.webview);
        myWebView.loadUrl(this.url);
        myWebView.setWebViewClient(new WebViewClient()
            {
            @Override
            public boolean shouldOverrideUrlLoading(WebView webView, String url){
                Uri uri = Uri.parse(url);
                if (url != null && uri.getScheme().equals(NNApplication.CALLBACK_SCHEME)) {
                    SharedPreferences shPref =  getSharedPreferences("NN_PREFS", Activity.MODE_PRIVATE);
                    new OAuthAccessTokenTask(Authorization.this, consumer, provider, shPref).execute(uri);
                    webView.setVisibility(View.GONE);
                    finish();

                    return true;
                }else{
                    return false;
                }


            }

            @Override
            public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error) {
                 handler.proceed() ;
                 }              
        }); 

同样,您可以在以下网址查看reCAPTCHA问题。我已经检查了,我们的开发网站和我们的实际网站之间的行为相同:

https://www-dev.usanpn.org/user/register

1 个答案:

答案 0 :(得分:2)

Captcha需要javascript:

myWebView.getSettings().setJavaScriptEnabled(true);