我在我的应用程序的 onCreate 中调用 CookieManager.getInstance().removeAllCookie() 。
我遇到了一个奇怪的问题,我看到一个意外的 cookie 值在 GET 请求中被传递。事实上,cookie 值是一个非常非常古老的值。
以下是我为测试执行的步骤:
- 安装应用程序
- 在应用启动时发出 GET 请求。请求应该是干净的:不应该发送任何 cookie。
- GET 请求以 Set-Cookie 响应。该值基于请求时间,因此该值在任何两个请求上相同的可能性非常小。
- 发出另一个 GET 请求。请求应该从第 3 步发送 cookie 值。
我第一次安装该应用程序时,cookie 行为如我预期的那样工作。我卸载了该应用程序,然后重新安装它,cookie 行为再次按预期工作。我这样做了几次,一切都很好,花花公子。
然后,突然,在第 N 次安装时,第 2 步没有通过。第一个 GET 请求不干净。事实上,它带有一个在首次安装应用程序时设置的值。
我无法可靠地重现这个问题,但我确实经常看到它。并不是安装时的第一个 GET 请求是从上一次安装中发送一个 cookie 值——该值来自之前的三到四次安装,这些安装之后都是卸载。
我怎么可能看到这个?我如何才能真正删除应用程序的所有 cookie?