android webview 清除,Android WebView清除基本身份验证凭据

我已经制作了一个使用基本身份验证对服务器进行身份验证的应用.但是我无法清除凭据,因此这意味着我有两个未解决的问题:

>如果不退出程序,用户将无法注销

>如果用户输入凭据错误,则必须退出并重新输入程序

我尝试了很多我自己的不同实现,很多在这个网站上推荐.我在freenode上安排了#android-dev无济于事.所以这是我的最后一个选择.

这是我的WebView示例代码(我已经取出了一些东西,但主要代码基本相同):

wv = new WebView(getBaseContext());

wv.setWebViewClient(new WebViewClient() {

boolean error = false;

int count = 0;

int checked = 0;

@Override

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

count++;

if (count >= 3) {

Toast.makeText(getBaseContext(),"Login Failed. Please Try Again.",Toast.LENGTH_LONG).show();

} else {

handler.proceed(getUser(),getPass());

}// end else

}// end onReceivedHttpAuthRequest

@Override

public void onPageStarted(WebView view,String url,Bitmap favicon) {

}// onPageStarted

// on success switch activities

@Override

public void onPageFinished(WebView view,String url) {

if (view.getTitle().equalsIgnoreCase("fooTitle")) {

// switch activities

Intent fooActivity = new Intent(getBaseContext(),fooActivity.class);

startActivity(fooActivity);

} else {

//failed

}// end else

}// end onPageFinished

});// end setWebViewCleint

wv.getSettings().setJavaScriptEnabled(true);

wv.loadUrl(url);

只有我第一次运行它才会运行onReceivedHttpAuthRequest.如果我注销并重新登录,它将运行onPageStarted,然后使用以前的凭据onPageFinished.因此,如果我退出并输入新用户,我将重新登录原始用户.或者,如果我输入错误的用户名和密码,它将挂在OnPageStarted上.我已经尝试过使用onReceivedError和http错误,但没有任何好处.

以下是我尝试使用logout()方法实现deauth的一些代码,以及代码的其他部分.我也尝试了很多不同的变体:

wv.clearCache(true);

wv.setHttpAuthUsernamePassword(host,realm,"","");

clearCacheFolder(this.getCacheDir());

clearCacheFolder(this.getExternalCacheDir());

this.getBaseContext().deleteDatabase("webview.db");

this.getBaseContext().deleteDatabase("webviewCache.db");

WebViewDatabase.getInstance(getBaseContext()).clearHttpAuthUsernamePassword();

WebViewDatabase.getInstance(getBaseContext()).clearUsernamePassword();

WebViewDatabase.getInstance(getBaseContext()).clearFormData();

WebStorage.getInstance().deleteAllData();

wv.setHttpAuthUsernamePassword(host,username,password);

ClearCacheFolder引用此处发布的markjan方法:Android Webview – Completely Clear the Cache

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值