请教高手和有WebView控件开发经验的前辈
问题是这样的:某web网站的访问需要认证如后,才能显示主页。我通过android模拟器浏览器登陆该web网站,先出现认证对话框,输入用户名和密码后,能够进入该站点。
但是在程序中通过webview控件,却不能显示认证对话框,这样无法登陆到该主页,望指点!说明:通过webview控件能够正常访问其他任何没有认证要求的网站,如百度等。

解决方案 »

  1.   

    应该是javascript的属性没设置吧
      

  2.   

    设置了,访问其他网站网页都没问题!        mWebView = (WebView)findViewById(R.id.ID_WEB_VIEW);
            mWebView.getSettings().setJavaScriptEnabled(true);
            mWebView.loadUrl(Config.HOME_URL);
            mWebView.setWebViewClient(new FoolWebViewerClient() );
            //设置下载侦听器
            mWebView.getSettings().setAllowFileAccess(true);
            mWebView.setDownloadListener(this);
     望一楼前辈继续指教。
      

  3.   

    打开时没有认证对话框显示,webview控件上直接显示,不知道哪里出了问题?
      

  4.   

    javascript的对话框用WebChromeClient来处理
      

  5.   

    android自带的browser 中对话框的实现,是在上面addView, overlay在WebView上面。 browser浏览器里面写了一个基类,如果有对话框要显示,继承自这个基类,调用show hide接口可以实现。 里面BrowserActivity里面有shouldOverRideURL...一类的函数,你需要解析的内容可以在里面找到
      

  6.   


     class MyWebChromeClient extends WebChromeClient {   @Override
       public boolean onJsAlert(WebView view, String url, String message,
         JsResult result) {
        Toast.makeText(getApplicationContext(), message,
          Toast.LENGTH_LONG).show();
        return true;
       }  }  webView.setWebChromeClient(new MyWebChromeClient());
    试试这个,或许你要重写的不是 onJsAlert 。但是写法类似。