我想通过删除它创建的cookie来注销我的Twitter帐户。我可以使用代码
来检索twitter创建的cookieString twit_cookie = getCookie ("http://www.twitter.com");
但是我怎样才能删除twitter创建的cookie,因为removeAllCookie()会删除浏览器创建的所有cookie。如何通过URL或名称删除特定的cookie ???
请帮忙......
答案 0 :(得分:3)
CookieManager类有一个方法setCookie。你有没有试过它:
setCookie("http://www.twitter.com", null);
或者
setCookie("http://www.twitter.com", "auth_token=''");
答案 1 :(得分:3)
您可以使用方法CookieManager#setCookie(String url, String value)。正如文档中所述:
为给定的网址设置Cookie。具有相同主机,路径和名称的任何现有cookie都将替换为新cookie。
"最清楚"方法是将twitter创建的所有cookie设置为过期(过去的一个时间)。来自this answer的代码几乎是正确的,除非日期是将来的 修改后的代码:
final String domain = "http://www.twitter.com";
CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
String cookiestring = cookieManager.getCookie(domain); //get all cookies
String[] cookies = cookiestring.split(";");
for (int i=0; i<cookies.length; i++) {
String[] cookieparts = cookies[i].split("="); //split cookie into name and value etc.
// set cookie to an expired date
cookieManager.setCookie(domain, cookieparts[0].trim()+"=; Expires=Wed, 31 Dec 2000 23:59:59 GMT");
}
CookieSyncManager.getInstance().sync(); //sync the new cookies just to be sure