Cookie setcookie没有反映出来

时间:2013-05-07 09:38:13

标签: android webview

我正在尝试使用webview中的API CookieManager为sencha页面设置cookie。

CookieSyncManager.createInstance(this);
    cookieManager = CookieManager.getInstance();
    cookieManager.setAcceptCookie(true);
cookieManager.setCookie(domain, cookie);

但是当在webview中加载页面时,会话不会反映出来。

1 个答案:

答案 0 :(得分:0)

这是一个有效的代码。

    private void setCookie(DefaultHttpClient httpClient, String url) {
    List<Cookie> cookies = httpClient.getCookieStore().getCookies();
    if (cookies != null) {
        CookieSyncManager.createInstance(context);
        CookieManager cookieManager = CookieManager.getInstance();
        cookieManager.setAcceptCookie(true);

        for (int i = 0; i < cookies.size(); i++) {
            Cookie cookie = cookies.get(i);
            String cookieString = cookie.getName() + "=" + cookie.getValue();
            cookieManager.setCookie(url, cookieString);
        }
        CookieSyncManager.getInstance().sync();
    }
}

这里的httpclient是您在HttpGet / HttpPost请求中使用的DefaultHttpClient对象。另外要确定的是cookie名称和值,应该给出

String cookieString = cookie.getName() + "=" + cookie.getValue();

setCookie将设置给定URL的cookie。