如何删除特定的cookie值?

Arc*_*ana 11 cookies android cookiemanager

在我的应用程序中有使用浏览器的facebook和twitter登录,登录后它会自动存储cookie.我必须注销Facebook,这将删除facebook cookie值,但我不知道如何删除特定的cookie.

如果我删除所有cookie使用:

CookieManager cm = CookieManager.getInstance(this);
cm.removeAllCookies();
Run Code Online (Sandbox Code Playgroud)

但它删除所有cookie值意味着它将注销facebook和twitter两者.

我的问题是 - 如何删除特定的cookie值.

谢谢..

spa*_*nia 9

您应该使用CookieManager.setCookie()cookie并将其设置为空字符串.这样的事情应该有效:

String cookieString = "cookieName=''";
cookieManager.setCookie(cookieDomain, cookieString);
Run Code Online (Sandbox Code Playgroud)

除了将cookie值设置为空之外,您还可以通过将cookie字符串中的"expire"值设置为过去的时间来使cookie过期.例如:

String cookieString = "cookieName=;expires=Mon, 17 Oct 2011 10:47:11 UTC;";
Run Code Online (Sandbox Code Playgroud)

  • 答案中指出将过期值设置为过去时间的部分不起作用.这在javadoc [link]中有明确提及(http://developer.android.com/reference/android/webkit/CookieManager.html#setCookie(java.lang.String,java.lang.String)))"cookie如果设置已过期,将被忽略." 我也在Android 4.2.1设备中验证了相同的内容. (4认同)