首页 > 解决方案 > 所有 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();
    }

标签: androidwebviewandroid-webviewwebviewclientandroid-websettings

解决方案


推荐阅读