我已经尝试了在使用Xamarin.Auth清除Android WebView的cookie方面,网上能够找到的所有方法。该库未公开Android WebView; 我无法使用其WebSettings或清除WebView对象上的缓存。
Xamarin.Auth公开了一种清除cookie的方法:
public static void ClearCookies()
{
global::Android.Webkit.CookieSyncManager.CreateInstance(global::Android.App.Application.Context);
global::Android.Webkit.CookieManager.Instance.RemoveAllCookie();
}
这似乎对cookie没有影响。我可以在通过Chrome进行调试时看到cookies,清除它会删除所有cookie。
我尝试过CookieManager.Instance.RemoveAllCookies(null)
和CookieManager.Instance.RemoveSessionCookies(null)
,在Xamarin.Auth创建自己的实例之前创建一个新的WebView,将SetAcceptCookies设置为false,清除WebViewStorage,并删除“webview.db”和“webviewCache.db”。但是所有cookie仍然存在。
我已经查看了大量的建议和答案。
使用Xamarin.Auth v1.5.0.3,在S4 Mini、S7、LG G3 Beat上进行测试。
*编辑
由于CookieManager.Instance.Sync()是异步运行的,可能是因为它没有及时完成或者根本没有运行?