【第22期】观点:IT 行业加班,到底有没有价值?

android webview cookie 同步时有时候会出现同步不成功的问题解决

原创 2015年11月19日 20:58:14
这个问题不是随时重现,我们在同步之前会先删除所有之前的cookies,调用:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP /*&& method != null*/){cookieManager.removeSessionCookies(new ValueCallback() {@Overridepublic void onReceiveValue(Boolean value) {Log.d(TAG, "onReceiveValue value:"+value);}});}else{ cookieManager.removeSessionCookie();}

经过查阅n多stackoverflow后发现一个答案:You have used this line - if (sessionCookie != null) { cookieManager.removeSessionCookie(); }. To ensure you receive new cookie everytime.Seems like you have gone through same issue as I faced, check below link -removeSessionCookie() issue of android (code.google.com)it says that removeSessionCookie() is implemented in a thread, so whenever it is called; a thread starts and after your setCookie(url, cookieString); is called, it removes the new cookie you just set. So for some devices it works well as removeSessionCookie() is already executed, while, for some, it remove the cookie, and we get that problem.by using SystemClock.sleep(500); , you just gave system to finish removeSessionCookie() firstI suggest you remove this removeSessionCookie(); as you are setting only one cookie, so it won't conflict with other cookies. Your code will work seamlessly.

大概意思就是说, cookieManager.removeSessionCookie()这个方法是一个异步的方法,在删除还没有结束的时候,主线程调用CookieSyncManager.getInstance().sync();方法去同步,此时,removeSessionCookie()并没有删除结束,顺带就把刚刚同步过去的session给删除了,所以导致的同步失效,哎呀,发现问题,那么好解决了,在removeSessionCookie() 的时候SystemClock.sleep(500);ok!不会再出现烦人的同步失败重定向了。如果还有更好的方法希望给我留言,谢谢了!!

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

部分android手机WebView无法成功同步Cookie问题的解决方案(5.0系统以上)

最近使用混合开发使用了第三方的品论-畅言,遇到畅言发送失败的情况,而且该情况出现在5.0以上的手机(4.4没问题)。 发现5.0以上版本的webview做了较大的改动,同步cookie的操作已经可...

【WebView的cookie机制 】轻松搞定WebView cookie同步问题

在进行APP+H5混合开发的时候,一些功能是用native方法实现的,如登陆,一些功能是用H5实现的。所以往往需要将在native方法登陆的状态同步到H5中避免再次登陆。这种情况在Android开发中...

webView中设置cookie无效

webView中设置cookie无效 最近用webView里面要同步Cookies,但是只同步url了,所以在此页面请求其他服务的接口时候,cookie就没有同步成功。这是为啥呢 还原问题打开 h...

安卓中原生与H5(webview)之间交互时cookie的同步

最近的项目中使用了H5页面和原生之间的交互,主要是原生通过js调用webview来加载H5页面,但是在进行通信时,涉及到一个cookie同步的问题,如果没处理好,真的是问题多多,纠结了好久,遇到了不少...

Android cookies正确的更新方式

之前的更新方式一搜cookies的使用,很容易搜到很多文章,基本的几步大致相同,如下图:基本上都要求大家先调用cookieManager.removeAllCookie()或者调用 cookieMan...

android 加载webview时,保存并同步cookie实现免登陆

1.首先当加载完webview的时候,我们得获取到webview上设置的cookie信息,代码如下; @Override public void onPageFinishe...

Android Sync 同步 源码问题解决方案

android源码还是很久以前下载的,今天sync发现突然不行了,报错: error.GitError: device/common rev-list ('^7d4526582f88808a3194e1a3b304abb369d2745c', 'HEAD', '--'): fatal: bad object 7d4526582f88808a3194e1a3b304abb369d2745c</span

部分android手机WebView无法成功同步Cookie问题的解决方案(5.0系统以上)

最近使用混合开发使用了第三方的品论-畅言,遇到畅言发送失败的情况,而且该情况出现在5.0以上的手机(4.4没问题)。 发现5.0以上版本的webview做了较大的改动,同步cookie的操作已经可...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)