【发布时间】:2015-01-23 10:02:44
【问题描述】:
我需要在 Android 上制作 Crosswalk(在 Cordova 项目中)使用一些 我通过 Apache HttpClient 收集的 cookie。 但是我不确定如何实现这一目标。我试着用 XWalkCookieManager 但我认为我所做的一切 XWalkCookieManager 被忽略。我将在哪里初始化 cookie 经理?这还支持吗?
//cookieStore contains the cookies I got via a request from the Apache
// HttpClient.
List<Cookie> cookies = cookieStore.getCookies();
for (int i = 0; i < cookies.size(); i++) {
Cookie cookie = cookies.get(i);
String cookieString = buildCookieStringFromCookie(cookie);
// This is a XWalkCookieManager I initialized earlier but it doesn't do anything
//as far as I can tell.
cookieManager.setCookie(cookie.getDomain(),cookieString);
}
非常感谢任何帮助,这是唯一 目前让我无法成功使用 Crosswalk。
我也尝试通过 CookieManager.getInstance().setCookie(cookie.getDomain(), cookieString); 使用标准的 Android cookie 管理器,但这似乎也被 Crosswalk 忽略了。
最好的,
安德烈亚斯
//编辑以备将来参考:
问题在于,Crosswalk 期望 cookie url 以 https:// 开头,而原生 Android webview 不是(或者相反,我不确定了)。现在正常工作是将cookie设置两次,一次没有https,一次使用https:
mCookieManager.setCookie(cookie.getDomain(), cookieString);
mCookieManager.setCookie("https://" + cookie.getDomain(), cookieString);
【问题讨论】:
标签: android cordova cookies webview crosswalk-runtime