,我從一個HTTPGET請求獲得兩個餅乾和他們在CookieManager存儲這樣的:的Android CookieManager setCookie方法並不在我的應用程序設置任何
//Clear old cookies
CookieManager.getInstance().removeAllCookie();
CookieSyncManager.getInstance().sync();
//Save the two cookies: auth token and session info
List<Cookie> cookies = httpclient.getCookieStore().getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
String cookieString = cookie.getName() + "=" + cookie.getValue() + "; Domain=" + cookie.getDomain();
CookieManager.getInstance().setCookie("http://alpha.mydomainname.com", cookieString);
}
System.out.println(CookieManager.getInstance().hasCookies()); //Prints false in 2.3, true in 4.0.3
CookieSyncManager.getInstance().sync();
System.out.println(CookieManager.getInstance().hasCookies()); //Also prints false in 2.3 and true in 4.0.3
}
我兩個測試相同的代碼不同的設備和有趣的是,Cookie在4.0.3中正確設置(並且在應用程序的啓動之間轉移),但不在2.3.3中。當我說他們沒有設置,我的意思是hasCookies()返回false,並且getCookie()返回null,當我提供的URL。
我在調用setCookie時嘗試了Cookie URL的每種可能的組合:「http://alpha.mydomainname.com」,「http://www.mydomainname.com」,「http:// mydomainname。 com「,」mydomainname.com「,」alpha.mydomainname.com「,」.mydomainname.com「,」www.mydomainname.com「,它們都不起作用。請幫忙。
你有沒有得到這個工作?我現在遇到了同樣的問題... – 2012-12-18 23:22:01
我需要更多的嘗試來確定,但我發現類似以下內容:如果設置了Expires標頭,則Cookie保存在2.3.3上,但不是4.0 .4,而如果Expires缺失,cookie將保存在4.0.4而不是2.3.3。 – hly 2013-01-22 14:48:03
你解決了你的問題嗎?我在這裏面對同樣的問題.... – 2013-10-08 15:12:58