我们在android中访问网络经常会用到Apache的HttpClient,用此类去访问网络获取数据,
但是在写android界面的时候又时不时的会用到一些WebView组件,这时候访问一个以经登录的页面的时候cookie设置就有个问题
在HttpClient中保存下来的Cookie怎么设置到WebView组件里,让WebView也保持住Cookie状态,也就是登录状态呢?
CookieSyncManager和CookieManager就是做这种事的,下面来看代码里怎么设置Cookie让WebView也保持登录状态:
/**
* 同步一下cookie
*/
public static void synCookies(Context context, String url) {
CookieSyncManager.createInstance(context);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.removeSessionCookie();//移除
cookieManager.setCookie(url, cookies);//cookies是在HttpClient中获得的cookie
CookieSyncManager.getInstance().sync();
}
在android里面在调用webView.loadUrl(url)之前一句调用此方法就可以给WebView设置Cookie
注:这里一定要注意一点,在调用设置Cookie之后不能再设置webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setJavaScriptEnabled(true);
这类属性,否则设置Cookie无效。
分享到:
相关推荐
主要介绍了解决Android webview设置cookie和cookie丢失的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
原生登录cookie保持提供webview使用
Android Webview虽然提供了页面加载及资源请求的钩子,但是对于h5的ajax请求并没有提供干涉的接口,这意味着我们不能在webview中干涉javascript发起的http请求,而有时候我们确实需要能够截获ajax请求并实现一些功能...
Android-X5WebView基本封装和使用 通过OkHttp拦截器、自定义CookieJar有效完成客户端与H5端的Cookie同步管理 监听WebView的加载进度 滚动条的设置(隐藏或者显示,内侧显示还是外侧显示) 优化X5WebView的预加载问题...
httpClient请求和服务器session保持同步,webView对cookie的管理
android webview load js url 设置cookie 不用重复登陆,拍照或选择相册图片上传
在进行APP+H5混合开发的时候...这种情况在Android开发中比较常见,因为Android不会自动同步cookie到WebView。做iOS开发则不用担心这个问题,因为iOS内部已经实现了cookie同步.本文就是一个小的事例,从登录到同步cookie
Android使用WebView加载登录的html界面,则通过登录成功获取Cookie并同步,可以是下一次不用登录也可以查看到个人信息,注:如果初始化加载登录,可通过缓存Cookie信息来验证是否要加载登录界面。Cookie信息包含了你...
android + h5 混合开发 webview 版 小实例 + 数据交互 + 界面交互+ js调用java +java 调用js
1. 给一个加载的链接设置cookie private void syncCookie(String url) { try { CookieSyncManager.createInstance(mWvSignUp.getContext());//创建一个cookie管理器 CookieManager cookieManager = ...
一种另类的QQ登录方法( QQ空间 + WebView )可获取并校验Cookie。 需要将.java文件放入项目中并修改package 包名,别忘了在manifest中添加Activity。
Android_WebView加载网页保存信息到Cookie
AgentWeb是一个基于的Android WebView,极度容易使用以及功能强大的库,提供了Android WebView一系列的问题解决方案,并且轻量和极度灵活,体验请下载的 ,或者您也可以到Google Play里面下载 ,详细使用请参照上面...
Android Cookie存储Android InMemory和用于HttpURLConnection和OkHttp的持久性Cookie存储,具有扩展功能,可以轻松地在Android WebViews中同步Cookie。 为什么? HttpURLConnection和Ok Android Cookie都没有,...
AgentWeb 是一个基于的 Android WebView ,极度容易使用以及功能强大的库,提供了 Android WebView 一系列的问题解决方案 ,并且轻量和极度灵活,详细使用请参照上面的 Sample 。 Gradle 引入 allprojects { ...
android-cookie-store:用于HttpURLConnection和OkHttp的Android InMemory和持久性Cookie存储,具有易于在Android WebViews中同步cookie的扩展
做了一个android网络应用,要求用自己实现的webview去访问web网站,并且在远程登录成功之后把cookie写入到手机,保留用作以后的自动登录。找了好多资料。发觉读取cookies倒还用的很普遍,可是通过程序写cookie却没有...