android webview cookie (遇到的坑,终极方案,解决你的疑惑)

来源:互联网 发布:php打印直角三角形 编辑:程序博客网 时间:2024/06/06 02:48

说起来webview设置cookie很简单,但是我做的过程中参考网上的代码,发现还是没做对,最后摸索了好几天才摸索出来


希望能帮助有需要的人。


设置cookie方法

/**
* 同步一下cookie

* context:上下文

* url要访问的url
*/
public void synCookies(Context context, String url) {
try {

CookieSyncManager.createInstance(context);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.removeSessionCookie();// 移除
cookieManager.removeAllCookie();


String cookeiStr = "aabbccddee=1234567"+//自定义cookie

                                                      ";Domain=.xxxx.xxx.com"+//作用域(在哪个域名下cookie起作用,例如http://www.baidu.com,写成Domain=.baidu.com即可)

                                                      ";Path=/";//Domain这个作用域下的哪个文件夹,“/”代表所有文件夹


cookieManager.setCookie(url, cookeiStr);


//上面是设置一个自定义的cookie(aabbccddee=1234567),如果想设置多个自定义cookie,那么需要向下面这样再设置一遍,需要设置多少个依此类推


String cookeiStr1 = "ffgghhii=7654321"+//自定义cookie

                                                      ";Domain=.xxxx.xxx.com"+//作用域(在哪个域名下cookie起作用,例如http://www.baidu.com,写成Domain=.baidu.com即可)

                                                      ";Path=/";//Domain这个作用域下的哪个文件夹,“/”代表所有文件夹


cookieManager.setCookie(url, cookeiStr1);


//每一次setCookie操作,都是设置一组cookie,每一组cookie都有domain、path等属性,并且这些属性用“;”来分割,我这里只写了这两个固定属性,还有一个有效期属性没有写,建议自定义属性写在最前面,后面再跟其他固定属性。



CookieSyncManager.getInstance().sync();


} catch (Exception e) {

}
}