我正在尝试使用webview中的API CookieManager为sencha页面设置cookie。
CookieSyncManager.createInstance(this);
cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.setCookie(domain, cookie);
但是当在webview中加载页面时,会话不会反映出来。
答案 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。