android webview 删除cookies,cookies - Android WebView removeCookie - Stack Overflow

I made some minor changes in @summerxiaqing's answer and I checked it works. (Added https, changed empty check to TextUtils.isEmpty, passed CookieManager by argument)

public static void clearCookieByUrl(String url, CookieManager pCookieManager, CookieSyncManager pCookieSyncManager) {

Uri uri = Uri.parse(url);

String host = uri.getHost();

clearCookieByUrlInternal(url,pCookieManager,pCookieSyncManager);

clearCookieByUrlInternal("http://." + host,pCookieManager,pCookieSyncManager);

clearCookieByUrlInternal("https://." + host,pCookieManager,pCookieSyncManager);

}

private static void clearCookieByUrlInternal(String url, CookieManager pCookieManager, CookieSyncManager pCookieSyncManager) {

if (TextUtils.isEmpty(url)) {

return;

}

String cookieString = pCookieManager.getCookie(url);

Vector cookie = getCookieNamesByUrl(cookieString);

if (cookie == null || cookie.isEmpty()) {

return;

}

int len = cookie.size();

for (int i = 0; i < len; i++) {

pCookieManager.setCookie(url, cookie.get(i) + "=-1");

}

pCookieSyncManager.sync();

}

private static Vector getCookieNamesByUrl(String cookie) {

if (TextUtils.isEmpty(cookie)) {

return null;

}

String[] cookieField = cookie.split(";");

int len = cookieField.length;

for (int i = 0; i < len; i++) {

cookieField[i] = cookieField[i].trim();

}

Vector allCookieField = new Vector();

for (int i = 0; i < len; i++) {

if (TextUtils.isEmpty(cookieField[i])) {

continue;

}

if (!cookieField[i].contains("=")) {

continue;

}

String[] singleCookieField = cookieField[i].split("=");

allCookieField.add(singleCookieField[0]);

}

if (allCookieField.isEmpty()) {

return null;

}

return allCookieField;

}

Inside the Activity

mContext = getApplicationContext();

CookieManager mCookieManager = CookieManager.getInstance();

CookieSyncManager mCookieSyncManager = CookieSyncManager.createInstance(mContext);

clearCookieByUrl("http://example.com", mCookieManager, mCookieSyncManager);

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值