我有一个 WebView
实例,它允许用户进行身份验证并访问网络应用程序提供的部分功能。用户使用 WebView
完成工作后,出于安全目的,我们需要清理 session 。
奇怪的是,下次我使用 WebView
打开屏幕时, session 仍然存在,我可以从中断的地方继续,尽管我尝试清理 session 。
我尝试做的事情(我实际上运行了调试器以确保调用这些方法):
webView.clearCache(true)
webView.clearFormData()
webView.clearHistory()
webView.clearSslPreferences()
webView.clearMatches()
CookieManager.getInstance().removeAllCookies {
CookieManager.getInstance().flush()
}
我在 removeAllCookies()
的回调中调用 flush()
的原因是 removeAllCookies()
方法是异步的,所以我在想,将内存中 cookie 存储的状态与持久存储同步可能需要一些时间,但这没有帮助。
我没有对 CookieManager
做任何花哨的事情,它是操作系统(Pixel 2 XL 上安装的 Android 9.0)提供的默认设置。有什么我想念的吗?
最佳答案
好的,事实证明 session 存储在本地存储中,所以您需要做的就是:
WebStorage.getInstance().deleteAllData()
关于android - 如何清理在 WebView 中创建的 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57256383/