2010-10-27 88 views
3

如何清除android中的所有cookie?清除Android中的餅乾

提供的任何示例代碼將非常有用。

+4

爲了要得到一個體面的答案,你必須得到你的問題。您是否想要在實施WebKit瀏覽器的應用程序中刪除Cookie數據,或者是否想要清除默認瀏覽器的所有Cookie? – 2010-10-27 10:02:56

+0

另外,你說示例代碼會非常有幫助,這使得我們大多數人都假設你想清除Android編碼中的cookies,但是你接受沒有代碼的答案..:S – 2014-05-08 07:10:07

回答

0

往瀏覽器,點擊菜單按鈕,更多,首選項,清除緩存

+0

示例代碼被問到,因此這個人正在尋找如何以編程方式進行。 @ Solo_Danya的回答是正確的方式 – 2018-01-03 11:32:43

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

removeAllCookie已棄用,請使用removeAllCookies(ValueCallback 回調)而不是 – Ranjeet 2015-04-01 08:54:00

+0

CookieSyncManager在API 23上已棄用.WebView現在會根據需要自動同步Cookie。 「您不再需要創建或使用CookieSyncManager。要手動強制同步,您可以使用CookieManager」 – 2015-08-31 11:55:45

0

使用那麼CookieManager比如在你的應用程序管理Cookie。可能在自定義Application類中。

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

,每當你想清楚了,打電話類似下面的方法:

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

「通過添加一些解釋,答案會更好。 – Onik 2015-09-17 09:15:01

+0

@Onik添加了一些上下文。 – esoxjem 2015-09-17 11:06:58

4

在我的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

嗨!什麼是調用 CookieManager.getInstance()。flush();的目的。 ?根據文檔 https://developer.android.com/reference/android/webkit/CookieManager.html#flush() 它與清除cookie無關... – hhg 2017-11-10 19:55:02