2

我一直在创建一个包含网站登录页面的应用程序。我正在使用 HttpGet 方法和 DefaultHttpClient 进行连接。一切正常。一旦登录成功,我将收到 json 响应,其中我将获得一个 URL 以使用 web-view 加载。在网络视图中加载 URL 时,cookie 没有同步。过去一周我一直在头疼。任何人都可以帮我解决这个问题。在此先感谢。

4

2 回答 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 回答