【问题标题】:How to logout twitter account by deleting cookies?如何通过删除 cookie 注销 Twitter 帐户?
【发布时间】:2014-08-13 17:03:20
【问题描述】:
我想通过删除其创建的 cookie 来注销我的 Twitter 帐户。我可以使用代码检索 twitter 创建的 cookie:
String twit_cookie = getCookie ("http://www.twitter.com");
但是我怎样才能只删除 twitter 创建的 cookie,因为 removeAllCookie() 会删除浏览器创建的所有 cookie。如何通过 URL 或名称删除特定的 cookie???
请帮忙...
【问题讨论】:
标签:
android
android-emulator
【解决方案1】:
CookieManager 类有一个方法 setCookie。你有没有试过这样:
setCookie("http://www.twitter.com", null);
或许
setCookie("http://www.twitter.com", "auth_token=''");
【解决方案2】:
您可以使用方法CookieManager#setCookie(String url, String value)。如文档中所述:
为给定的 URL 设置一个 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