我创建了一个经过身份验证的网页视图,该视图允许用户使用关键字进行搜索,以在网页视图中显示内容。然而,webview在每个页面上都有认证集,所以如果我在webview中导航,我必须再次进行身份验证,在我的情况下,我使用sharedprefs管理器来记住自动验证它的登录名和密码。但是,每当我导航到webview中的不同页面时,它会弹出一个屏幕,询问“你已经退出,因为你登录了另一台设备[取消|登录]”如何阻止此警报消息显示在我认证的webview,由于身份验证而明显发生。我正在使用cookies,但我不确定我是否以正确的方式使用它们。这是我的代码的潜行高峰:
public class MyWebViewClient extends WebViewClient {
private String loginCookie;
public MyWebViewClient(AnswersWebViewFragment answersWebViewFragment, WebView webview) {
super();
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
view.setVisibility(View.VISIBLE);
}
@Override
public void onPageFinished(WebView view, String url) {
view.setVisibility(View.VISIBLE);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setCookie(url, loginCookie);
final Animation fade = new AlphaAnimation(0.0f, 1.0f);
fade.setDuration(200);
view.startAnimation(fade);
view.setVisibility(View.VISIBLE);
progressBar.setVisibility(View.GONE);
}
@Override
public void onReceivedError( WebView view, int errorCode, String description, String failingUrl ) {
Toast.makeText(view.getContext(), "Authentication Error", Toast.LENGTH_LONG).show();
}
@Override
public void onLoadResource( WebView view, String url ){
//CookieManager cookieManager = CookieManager.getInstance();
//loginCookie = cookieManager.getCookie(url);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return super.shouldOverrideUrlLoading(view, url);
}
@Override
public void onReceivedSslError( WebView view, SslErrorHandler handler, SslError error ) {
handler.proceed();
}
@Override
public void onReceivedHttpAuthRequest( WebView view, final HttpAuthHandler handler, final String host, final String realm ){
handler.proceed(USERNAME,PASSWORD);
}
}
在其他课程中,这是我如何存储用户名和传递:
SharedPreferencesManager manager = SharedPreferencesManager.getInstance();
private static String URL;
private final String USERNAME = manager.getLoginUsername();
private final String PASSWORD = manager.getDecryptedLoginPassword();
任何想法如何去做同样的事情?
答案 0 :(得分:0)
注释掉在搜索页面中验证登录的代码