0

我有一个 webView,其中 url 是:https://uesr:user@test.move.com:443/test-mobile当我想加载这个页面时它是不可用的,我从页面中删除身份验证并删除用户:用户@页面工作。如何将身份验证添加到 webview 以使用该 url?

这是我的网络视图:

formWebView.getSettings().setJavaScriptEnabled(true);
formWebView.loadUrl(url);
formWebView.getSettings().setBuiltInZoomControls(true);
4

2 回答 2

2

我通过以下方式解决我的问题:

    formWebView.setWebViewClient(new WebViewClient() {
          @Override 
          public void onReceivedHttpAuthRequest(WebView view,
                                                HttpAuthHandler handler,
                                                String host,
                                                String realm){ 
            handler.proceed(loggedUser.getLogin(), loggedUser.getPass());
          } 

          public void onReceivedSslError(WebView view,
                                         SslErrorHandler handler,
                                         SslError error) {
            handler.proceed() ;
          }
        });
于 2013-07-04T12:00:42.390 回答
0

在您的 onCreate 方法中编写以下代码。

webView.setWebViewClient(new MyWebViewClient());

private class MyWebViewClient extends WebViewClient 
{   

    public void onReceivedHttpAuthRequest(WebView view,
            HttpAuthHandler handler, String host, String realm) {

        handler.proceed("UserName", "Password");
    }

    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        if (dialog != null) {
            if (!dialog.isShowing()) {
                dialog.show();
            }
        }
    }

    public void onLoadResource(WebView view, String url) {
        // TODO Auto-generated method stub
        super.onLoadResource(view, url);

    }

    public void onScaleChanged(WebView view, float oldScale, float newScale) {
        // TODO Auto-generated method stub
        super.onScaleChanged(view, oldScale, newScale);
    }

    public void onTooManyRedirects(WebView view, Message cancelMsg,
            Message continueMsg) {
        // TODO Auto-generated method stub
        super.onTooManyRedirects(view, cancelMsg, continueMsg);
    }

    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        // TODO Auto-generated method stub




        return super.shouldOverrideUrlLoading(view, url);

    }

    public void doUpdateVisitedHistory(WebView view, String url,
            boolean isReload) {
        // TODO Auto-generated method stub
        super.doUpdateVisitedHistory(view, url, isReload);

    }

    public void onReceivedError(WebView view, int errorCode,
            String description, String failingUrl) {
        // TODO Auto-generated method stub
        super.onReceivedError(view, errorCode, description, failingUrl);
    }

    public void onPageFinished(WebView view, String url) {
        if (dialog != null) {

            dialog.dismiss();
        }
    }

}
于 2013-07-04T12:25:37.553 回答