android - 所有 WebView 都以某种方式共享访问历史记录
问题描述
我有多个活动,我在其中显示不同的 WebView 实例。假设我在一项活动中访问了 www.stackoverflow.com。如果我看到一个指向该地址的链接,它将显示为紫色(表明它已被访问)。现在,我尝试以多种方式在不同的阶段(包括在为每个 WebView 对象加载 URL 之后)清除每个 WebView 对象。例如,这些是我尝试为每个 WebView 对象调用的函数:
在我的活动的 onCreate (findViewById...) 中找到每个布局元素后,我正在设置:
wv.getSettings().setAppCacheEnabled(false);
wv.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
然后,在我的 WebViewClient 中的 onPageFinished 中:
wv.clearHistory();
wv.clearCache(true);
wv.clearFormData();
wv.clearMatches();
wv.clearSslPreferences();
我只是在寻找一些关于如何思考这个问题的指导,而不是一个完整的代码示例。因此,我没有为我的具体案例提供完整的代码。
编辑:
实际上,如果有办法从 WebView 的实例中清除特定的网站 URL,我真的更喜欢这个。
我尝试过像这样覆盖 doUpdateVisitedHistory :
@Override
public void doUpdateVisitedHistory(WebView view, String url, boolean isReload) {
super.doUpdateVisitedHistory(view, url, isReload);
view.clearHistory();
}
解决方案
推荐阅读
- mongodb - typescript 是否会默认自动捆绑所有导出?
- autodesk-forge - Forge viewer 在以编程方式激活后停用 BimWalk
- python - 通过 python Beautiful Soup 从网页中抓取 tab href 值
- python - 定位并单击,另一幅图像中的一部分图像
- c - 通过与边缘交换最大值和最小值来组织表格的程序(一直这样做直到完成)
- python - The view polls.views.vote didn't return an HttpResponse object. It returned None instead
- android - Android 的主屏幕是在前台运行的实体吗?
- reactjs - 使用身份验证和用户上下文反应路由
- c - Switch Case 在 C 中由自身触发
- php - 自定义标题正在被剥离