在我的应用程序中,我使用带有WebViewClient的WebView,使用覆盖方法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中,用户再次自动登录 - 在这种情况下我需要检测用户的注销和删除存储的凭据,有人可以告诉我,怎么做?
非常感谢!