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 の使用を妨げている唯一の理由です。
また、標準の Android cookie Manager を使用してみましCookieManager.getInstance().setCookie(cookie.getDomain(), cookieString);
たが、これは Crosswalk でも無視されるようです。
一番、
アンドレアス
// 後で参照できるように編集:
問題は、Crosswalk が Cookie の URL が https:// で始まることを想定しているのに対し、ネイティブの Android Webview がそうではないことです (またはその逆で、もうわかりません)。今うまくいっているのは、Cookie を 2 回設定することです。1 回は https なしで、もう 1 回は https を使用します。
mCookieManager.setCookie(cookie.getDomain(), cookieString);
mCookieManager.setCookie("https://" + cookie.getDomain(), cookieString);