WebView调用loadUrl时候带上cookie信息
2015-11-19 23:03
288 查看
今天分享一个小方法~
项目中有一个界面是一个纯webview,为了让这个界面在发布后也可以随时修改样式,当时就没有选择传统的android xml的布局界面,而是选择跳转到一个html界面。但是这个html也不是一个静态页面,他的界面会根据用户不同的等级做出相应的改变。那么这时候,就需要传参数,将用户的信息塞到这个http的请求中。
调用完setCookie()方法之后,就可以调用loadUrl()了。
项目中有一个界面是一个纯webview,为了让这个界面在发布后也可以随时修改样式,当时就没有选择传统的android xml的布局界面,而是选择跳转到一个html界面。但是这个html也不是一个静态页面,他的界面会根据用户不同的等级做出相应的改变。那么这时候,就需要传参数,将用户的信息塞到这个http的请求中。
/* 让webviewloadurl的时候带上cookie信息 */ private void setCookie(){ /* 获取cookie */ String key = "key"; String value = "value"; String jump_url = "http://192.168.0.5:8889/banner/list.pb" //将信息直接存储在cookie中 BasicClientCookie newCookie = new BasicClientCookie(key, value); newCookie.setDomain(getDomainByUrl(jump_url)); String cookieString = newCookie.getName() + "=" + newCookie.getValue() + "; domain=" + newCookie.getDomain(); CookieSyncManager.createInstance(this); CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setAcceptCookie(true); cookieManager.removeSessionCookie(); //第一个参数是域名,第二个参数是固定格式的字符串 cookieManager.setCookie(getDomainByUrl(jump_url), cookieString); CookieSyncManager.getInstance().sync(); }
private String getDomainByUrl(String url){ // 表达式对象(xx.xx.xx.xx) Pattern p = Pattern.compile("\\d+\\.\\d+\\.\\d+\\.\\d+"); // 创建 Matcher 对象 Matcher m = p.matcher(url); String domain = ""; if(m.find()){ domain = m.group(); } return domain; }
调用完setCookie()方法之后,就可以调用loadUrl()了。
相关文章推荐
- Android 仿微信Activity左右切换 【全局配置Activity显示动画】
- OC匿名对象
- 方法的声明和实 4000 现
- 类的合理设计
- IOS常用设计模式——观察者模式(IOS开发)
- Android 高仿微信群聊头像
- OC对象和函数
- 史上最详细的Android Studio快捷键
- 小学四则运算APP 第一个冲刺阶段 第三天
- Android adb push安装和直接安装软件的区别
- 第二个Object-C类程序
- AndroidStudio鼠标放到代码上自动显示代码的信息
- 第一个Object-C类程序
- cannot resolve symbol 'simple_list_item_1'
- 类的设计
- IOS--Auto Layout
- Hybrid--webview session保持--2
- 如何在接收到空的远程推送消息时,在APP作出响应。
- IOS6 自动布局 入门(1)
- Android ODEX介绍