2011-10-18 14 views
9

W mojej aplikacji są login facebook i twitter przy użyciu przeglądarki, a po zalogowaniu automatycznie zapisują ciasteczka. Muszę się wylogować z Facebooka, aby usunąć pliki cookie z Facebooka, ale nie wiem, jak usunąć poszczególne pliki cookie.Jak usunąć określoną wartość cookie?

jeśli usunąć wszystkie pliki cookie, używając:

CookieManager cm = CookieManager.getInstance(this); 
cm.removeAllCookies(); 

ale usuwa wszystkie ciasteczka wartość Oznacza to wylogowania zarówno Facebook i Twitter obu.

moje pytanie brzmi - jak usunąć konkretną wartość cookie.

Dzięki ..

+0

http://stackoverflow.com/questions/20940012/android-cookiemanager-setcookie-creates-multiple-cookies – trante

Odpowiedz

10

Należy użyć CookieManager.setCookie() i ustawić ciasteczko do pustego łańcucha. Coś jak to powinno działać:

String cookieString = "cookieName=''"; 
cookieManager.setCookie(cookieDomain, cookieString); 

Oprócz ustawiania wartości cookie pusty, można również wygaśnie cookie, ustawiając wartość w ciągu cookies wygasają 'do czasu w przeszłości. Na przykład:

String cookieString = "cookieName=;expires=Mon, 17 Oct 2011 10:47:11 UTC;"; 
+2

Część odpowiedzi, która stwierdza, że ​​ustalenie ważności wartości do czasu w przeszłości nie działa. Jest to wyraźnie wspomniane w javadoc [link] (http://developer.android.com/reference/android/webkit/CookieManager.html#setCookie (java.lang.String, java.lang.String))) " Ustawiony plik cookie zostanie zignorowany, jeśli wygasa. " Sprawdziłem to samo w urządzeniu z Androidem 4.2.1. – garnet

Powiązane problemy