首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CookieSyncManager同步异步行为

CookieSyncManager同步异步行为
EN

Stack Overflow用户
提问于 2013-11-28 14:36:47
回答 2查看 639关注 0票数 0

我的问题非常类似于Cookies & Webview - CookieSyncManager in Android!,但我确实需要调整SystemClock.sleep()时间,或者采取其他方法使setCookie立即做出反应。不工作500毫秒,但工作5000毫秒,所以它不是很可靠。有没有办法在onPageStarted中循环睡眠,在setCookie之后调用sync来表示CookieManager

我的环境从另一个服务器获取Cookie值,所以这里没有会话cookie。

谢谢。

更新:

看来Cookie的处理根本不管用。我有以下网络流量:

  1. 设置Cookie并加载url
  2. 服务器处理Cookie是可以的,所以它添加了另一个cookie来表示我们有会话
  3. WebView仍然加载不显示会话的页面。
  4. 我再次启动了我的WebView,现在getCookie正确地显示了会话Cookie和加载页面
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-27 04:35:05

在应用程序中出现setCookie之前,我就调用了WebView (我从另一台服务器获得Cookie值),还在WebViewClient onPageStartedonPageFinished中添加cookie同步,它似乎正在工作,而且我不必造成睡眠延迟。

票数 1
EN

Stack Overflow用户

发布于 2014-03-26 23:44:59

在调用webview.loadUrl( url )之前,我添加了一个while循环,以检测url的cookie是否已被注入。如果cookie尚未异步设置,则休眠一段时间。希望能帮上忙。

代码语言:javascript
复制
while (!CookieManager.getInstance().hasCookies() 
    || CookieManager.getInstance().getCookie(url)==null){
        SystemClock.sleep(TIME_WAITING_FOR_COOKIE_SYNC);
    }
webview.loadUrl(url);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20268792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档