在网上搜索给WebView设置Cookie这个问题得到的回答都是以下这段代码:

CookieSyncManager.createInstance(context);CookieManager cookieManager = CookieManager.getInstance();cookieManager.setAcceptCookie(true);cookieManager.setCookie(url, cookies);//cookies是在HttpClient中获得的cookieCookieSyncManager.getInstance().sync();

但是我用这段代码在实际运行的时候并没有让 WebView 带上Cookie,测试机器系统为Android 4.2.2,于是又去网络上搜索了下,发现了这个答案:

只有当Cookie的Domain和Path与请求的URL匹配时,才会发送这个Cookie成功。

在Java中,可以通过 Cookie 的 getDomain()getPath() 方法来获取我们想要的 Domain 和 Path。
还需要注意的另外一件事情就是如果上传的 Cookie 不仅仅要求 sessionid,还要求其他项目,那么你必须采用以下的方式来设置Cookie:
key=value;domain=domainContent;path=pathContent
例如:
sessionid=xxxxxx;domain=domainStr;path=pathStr
max_age=xxxxxx;domain=domainStr;path=pathStr

每一个条目都要这样操作,因为CookieManager只能够得到 “;” 前面的数据。

参考链接:
http://kinbos.blog.51cto.com/2092114/1347859
http://www.cnblogs.com/breeze1988/articles/3976035.html

更多相关文章

  1. Android 使用 DowanloadManager 实现下载并获取下载进度实例代码
  2. Android Design: 九种常见Activity及代码解析之"Login Activity"
  3. [CSDN]Android应用程序进程启动过程的源代码分析
  4. Android开源项目源代码分享
  5. 如何用代码区分android TV和手机? 适配Android TV ?
  6. java Android 算一定业务规定的工作日(除去法定节假日、调休周末
  7. Anroid源代码编译相关资源
  8. 第一行代码Android学习(十)

随机推荐

  1. windows系统mysql5.7.18安装图文教程
  2. MAC下修改mysql默认字符集为utf8的方法
  3. my.cnf(my.ini)重要参数优化配置说明
  4. MySql优化之InnoDB,4GB内存,多查询的my.i
  5. MySQL性能全面优化方法参考,从CPU,文件系
  6. Mysql5.7中使用group concat函数数据被截
  7. MySQL常见内存不足启动失败的完美解决方
  8. linux下mysql的安装步骤
  9. Mac环境mysql5.7.21 utf8编码问题及解决
  10. CentOS 7.0如何启动多个MySQL实例教程(my