我一直在创建一个包含网站登录页面的应用程序。我正在使用 HttpGet 方法和 DefaultHttpClient 进行连接。一切正常。一旦登录成功,我将收到 json 响应,其中我将获得一个 URL 以使用 web-view 加载。在网络视图中加载 URL 时,cookie 没有同步。过去一周我一直在头疼。任何人都可以帮我解决这个问题。在此先感谢。
问问题
4006 次
2 回答
2
终于在花了 10 天后,我找到了解决方案。
if (!Utils.cookies.isEmpty()){
CookieSyncManager.createInstance(WebViewActivity.this);
CookieManager cookieManager = CookieManager.getInstance();
for (Cookie cookie : Utils.cookies) {
Cookie sessionInfo = cookie;
String cookieString = sessionInfo.getName() + "=" + sessionInfo.getValue() + "; domain=" + sessionInfo.getDomain();
cookieManager.setCookie(sessionInfo.getDomain(), cookieString);
CookieSyncManager.getInstance().sync();
}
}
这段代码对我有用。
于 2012-05-31T06:58:14.333 回答
0
对于较新的 API,即 API 21(Lollipop) 及更高版本,CookieSyncManager
已被弃用,CookieSyncManager.getInstance().sync();
可以替换CookieManager.getInstance().flush();
为将 cookie 写入持久存储。
于 2017-07-29T12:19:42.140 回答