2010-10-27 6 views
3

Comment puis-je effacer tous les cookies dans Android?Effacer les cookies dans Android

Tout exemple de code fourni sera vraiment utile.

+4

Pour pour obtenir une réponse décente, vous devez obtenir votre bonne question. Voulez-vous supprimer les données de cookie dans votre propre application en implémentant le navigateur WebKit ou voulez-vous effacer tous les cookies du navigateur par défaut? –

+0

En outre, vous avez dit que l'exemple de code serait vraiment utile, ce qui fait que la plupart d'entre nous supposons que vous voulez effacer les cookies dans le codage Android, mais vous acceptez la réponse sans code ..: S –

Répondre

0

Aller au navigateur, cliquez sur un bouton Menu, Plus, Préférences, Effacer les cookies

+0

Exemple de code a été demandé pour le faire par programme. @ La réponse de Solo_Danya est la bonne façon –

32
CookieSyncManager.createInstance(this); 
    CookieManager cookieManager = CookieManager.getInstance(); 
    cookieManager.removeAllCookies(callback); 
+0

removeAllCookie est obsolète, utilisez removeAllCookies (ValueCallback callback) au lieu de – Ranjeet

+0

CookieSyncManager est obsolète sur l'API 23. WebView synchronise maintenant automatiquement les cookies si nécessaire. "Vous n'avez plus besoin de créer ou d'utiliser le CookieSyncManager Pour forcer manuellement une synchronisation, vous pouvez utiliser le CookieManager" –

0

Utilisez une instance CookieManager pour gérer les cookies dans votre application. Probablement dans une classe personnalisée Application.

mCookieManager = new CookieManager(); 
mCookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL); 
CookieHandler.setDefault(mCookieManager); 

Et chaque fois que vous voulez effacer, appeler une méthode comme celle ci-dessous:

public static void clearCookies() { 
mCookieManager.getCookieStore().removeAll(); 
} 
+0

En ajoutant quelques explications, la réponse serait meilleure. – Onik

+0

@Onik Ajout d'un contexte. – esoxjem

4

Dans mon MainActivity:

public void onClickLogOut(View view) 
{ 
    new AuthActivity().clearCookies(getApplicationContext()); 
} 

SecondActivity:

@SuppressWarnings("deprecation") 
public void clearCookies(Context context) { 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {    
     CookieManager.getInstance().removeAllCookies(null); 
     CookieManager.getInstance().flush(); 
    } else 
    { 
     CookieSyncManager cookieSyncMngr= CookieSyncManager.createInstance(context); 
     cookieSyncMngr.startSync(); 
     CookieManager cookieManager= CookieManager.getInstance(); 
     cookieManager.removeAllCookie(); 
     cookieManager.removeSessionCookie(); 
     cookieSyncMngr.stopSync(); 
     cookieSyncMngr.sync(); 
    } 
} 
+0

Salut! Quel est le but de l'appel CookieManager.getInstance(). Flush(); ? selon la documentation https://developer.android.com/reference/android/webkit/CookieManager.html#flush() ce n'est pas lié à la suppression des cookies ... – hhg

Questions connexes