我有一个WebView,允许用户将图像共享给Facebook.这个过程涉及到他们登录FB.完成后,我会销毁WebView并重新启动应用程序,并为不同的用户提供相同的功能.目的是让WebView不要从一个会话继续登录到下一个会话,但是我不清楚如何在会话结束时手动登录用户(调用
http://www.facebook.com/logout.php不再工作,显然)并且抓取WebView的新实例和WebChromeClient也不会这样做.
但是,我注意到,当我重新安装应用程序(正如我修改它),登录被清除,所以,我假设*不知何故Webkit可以告诉这是一个不同的应用程序(因为它被卸载并重新安装)我希望我可以利用这个(或任何其他)机制来清除持有用户登录信息的东西…我猜这是一个cookie,但我并不完全确定它.
解决方法
它是由cookie设置的.在API 21使用之前:
android.webkit.CookieManager.getInstance().removeAllCookie();
现在这个方法已经被替换为removeAllCookies
,这基本上是相同的,但是与回调异步.