喜糖

移动开发工程师 。涉及 android、ios、jni

导航

针对cookie的处理

Posted on 2013-05-31 19:21  喜糖  阅读(275)  评论(0编辑  收藏  举报

在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。