我的问题与Cookies & Webview - CookieSyncManager in Android!非常相似,但我确实需要调整SystemClock.sleep()
时间或其他方式让setCookie
立即做出反应。没有使用500毫秒,但使用5000毫秒,所以它不是很可靠。在onPageStarted
之后sync
CookieManager
之后setCookie
调用WebView
的任何方式来循环睡眠?
我的环境从另一台服务器获取Cookie值,因此这里没有会话cookie。
感谢。
更新:
看起来Cookie处理根本不起作用。我有以下网络流程:
getCookie
,现在{{1}}显示会话Cookie并正确加载页面答案 0 :(得分:1)
我在应用程序中出现setCookie
之前最终调用WebView
(我从另一台服务器获取Cookie值),同时添加了WebViewClient
onPageStarted
和onPageFinished
cookie同步,它似乎正在工作,我不必导致睡眠延迟。
答案 1 :(得分:0)
在调用webview.loadUrl(url)之前,我添加了一个while循环来检测是否已经注入了url的cookie。如果没有异步设置cookie,请休眠一段时间。希望它有所帮助。
while (!CookieManager.getInstance().hasCookies()
|| CookieManager.getInstance().getCookie(url)==null){
SystemClock.sleep(TIME_WAITING_FOR_COOKIE_SYNC);
}
webview.loadUrl(url);