前几天在做facebook链接的时候,总是第一次成功,第二次失败,后来分析,是本地的缓存没有清空,看了facebook sdk的源码才发现,果然,要做一步清楚cookie的操作:
一、清除cookie
public static void clearCookies(Context context) {
// Edge case: an illegal state exception is thrown if an instance of
// CookieSyncManager has not be created. CookieSyncManager is normally
// created by a WebKit view, but this might happen if you start the
// app, restore saved state, and click logout before running a UI
// dialog in a WebView -- in which case the app crashes
@SuppressWarnings("unused")
CookieSyncManager cookieSyncMngr =
CookieSyncManager.createInstance(context);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeAllCookie();
}
这是facebook sdk的源码,我不知道第一句到底起了什么作用?
二、清除webview缓存,查看root过的手机data下的文件,会发现有这个东西:webview命名的东西
发现这个问题,一个朋友在iteye上问的:
Android的CookieManager只提供了removeAllCookies方法,用来删除所有的cookie,有什么办法只删除和特定url关联的cookie呢?本来打算使用setCookie(url, value)将指定url关联的cookie设为空串,但试了一下发现这个方法只是在已有的基础上继续添加cookie,并不能重置已有的cookie。
有朋友给打答案:
有任何疑问或技术合作都可联系我
微信:yanfahezuo 【推荐】
QQ:596957738