让我们准备cookie存储:
CookieSyncManager.createInstance(getApplicationContext());
CookieSyncManager.getInstance().startSync();
CookieManager.getInstance().setAcceptCookie(true);
然后我手动添加一些饼干,让我们说PHPSESSID和RANDOM
CookieManager.getInstance().setCookie("domain.com", "PHPSESSID="+phpSession);
CookieManager.getInstance().setCookie("domain.com", "RANDOM="+random);
让我们检查是否正常使用:
CookieManager.getInstance().getCookie("domain.com");
得到了
PHPSESSID=dba4ff392agd39b5951d10a91a0a7b56; RANDOM=266284790:1466147978:c91d0896bac59e0b
一切看起来都不错,但是当我在应用程序中导航到WebView活动之一时,它们打开相同的域名网站也设置了cookie,那么当我打印上面的cookie时,它看起来像这样:
PHPSESSID=dba4ff392agd39b5951d10a91a0a7b56;
RANDOM=266284790:1466147978:c91d0896bac59e0b;
PHPSESSID=9ecb5156cf8fc3190fbc69fd13393243;
RANDOM=265078219%3A1463147975%3Ad0448d163e9b2123
重复的条目……之后我再次手动设置,例如使用setCookie的随机数:
PHPSESSID=dba4ff392agd39b5951d10a91a0a7b56;
RANDOM=111111111:2222222222:33333336bac59e0b;
PHPSESSID=9ecb5156cf8fc3190fbc69fd13393243;
RANDOM=265078219%3A1463147975%3Ad0448d163e9b2123
WebView设置的值不会被覆盖,只有我的“手动”输入…如何强制WebView使用我之前设置的cookie或覆盖已设置?