我尝试通过清除以前的用户留下任何私人数据重用现有的WebView:如何清除Android WebView的(CSS)访问历史记录?
CookieManager.getInstance().removeAllCookie();
webview.clearHistory();
webview.clearFormData();
webview.clearCache(true);
clearHistory
似乎只是为了清除前进/后退清单,通过API访问,但用于着色不是内部列表网页内容的链接。
我甚至尝试以下,由另一stackoverflow answer建议:
deleteDatabase("webview.db");
deleteDatabase("webviewCache.db");
我仍然没有运气:CSS :visited
选择重新加载页面后仍能正常工作。
另一种方法是使用API级别11私密浏览功能(新构造函数的参数),但我不能从访问过的链接都受益;并且不能再针对旧版本。
也许有人有这个问题的解决方案?谢谢你的帮助。
摘要的答案我有这么远:
我想这两个答案,但第一似乎清除HTML5数据存储,而后者似乎是特定于内置的浏览器:
WebStorage.getInstance().deleteAllData();
Browser.clearHistory(getContentResolver());
WebChromeClient.getVisitedHistory(ValueCallback<String[]> callback)
只在我第一次在最近安装的应用程序中创建一个新的WebView后调用。
我试图从视图层次中删除WebView
并创建一个新的,但不幸的是,被访问的历史似乎被存储为整个应用程序。
感谢您的努力,我喜欢这个想法,但问题在于,getVisitedHistory不会在每次加载页面时调用(如您已经声明的)。也许值得努力检查是否可以强制调用'getVisitedHistory'。 – Nappy 2011-05-23 08:32:25
我刚刚用我个人的想法更新了我的回答。 – 2011-05-23 09:13:37