3

在我的应用程序中,我将 WebView 与 WebViewClient 一起使用,并使用覆盖方法 onReceivedHttpAuthRequest,在该方法中,我使用 AlertDialog 提示用户输入他的凭据。输入凭据后,我打电话

handler.proceed(username, password);

我的问题是: 在 Android 4 模拟器中,一切正常,用户可以毫无问题地浏览经过身份验证的站点,但在较旧的 Android 版本中,似乎每次用户刷新或导航到经过身份验证的站点中的另一个页面时都会调用 onReceivedHttpAuthRequest。

有人可以建议我吗,我做错了什么?谢谢你。

我尝试了什么:

也叫

webView.setHttpAuthUsernamePassword(host, realm, username, password);

当输入凭据并在 onReceivedHttpAuthRequest 中调用登录对话框之前添加这段代码时:

String[] usernamePassword = webView.getHttpAuthUsernamePassword(host, realm);
if (usernamePassword!=null) {
    handler.proceed(usernamePassword[0], usernamePassword[1]);
    return;
}

对我不起作用-用户可以浏览经过身份验证的站点,但是注销后,用户名和密码仍存储在 webView 中,并且用户再次自动登录-在这种情况下,我需要检测用户的注销并删除存储的凭据,有人可以吗告诉我,如何做到这一点?

非常感谢!

4

0 回答 0