针对cookie的处理

在android中,同一个应用下的cookie存在同一个位置。 /data/data/package/databases/webview.db

cookie存储的代码:

 

CookieManager cookieManager = CookieManager.getInstance();
            if( token != null) {
                CookieSyncManager.createInstance(TiebaApplication.getApp().getApplicationContext());
                cookieManager.setAcceptCookie(true);
                cookieManager.setCookie("baidu.com", "PTOKEN=" + token.mPtoken + "; domain=.baidu.com;");
                CookieSyncManager.getInstance().sync(); //强制同步代码
            }else {
                cookieManager.removeSessionCookie();  //里面会开一个线程,异步的去处理
            }

查询相关资料知道, cookieSyncManager是用来同步浏览器的cookie从RAM到db中。默认情况下,系统是每5分钟,同步一次,当你需要强制执行的时候, 调用sync方法即可。

在调用setCookie时,当设置了session cookie和已经过期的cookie时,会忽略。

在调用removeSessionCookie时, 看到注释, 没有标记expires的均为session cookie。

原文地址:https://www.cnblogs.com/xitang/p/3111041.html