Все WebViews так или иначе делятся посещенной историей - PullRequest
0 голосов
/ 06 июня 2018

У меня есть несколько действий, где я показываю разные экземпляры WebViews.Допустим, я посещаю www.stackoverflow.com в одном действии.Если я вижу ссылку, указывающую на этот адрес, она будет выделена фиолетовым цветом (показывая, что она была посещена).Теперь я попытался очистить каждый объект WebView несколькими способами и на разных этапах (в том числе после загрузки URL-адресов для каждого объекта WebView).Например, вот те функции, которые я пытался вызвать для каждого объекта WebView:

Сразу после нахождения каждого элемента макета в onCreate (findViewById ...) моей деятельности я устанавливаю:

    wv.getSettings().setAppCacheEnabled(false);
    wv.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

А затем в onPageFinished в моем WebViewClient:

    wv.clearHistory();
    wv.clearCache(true);
    wv.clearFormData();
    wv.clearMatches();
    wv.clearSslPreferences();

Я только ищу некоторые рекомендации о том, как думать по этому вопросу, а не полный пример кода.Следовательно, я не предоставляю полный код для моего конкретного случая.

Редактировать:

На самом деле, если есть способ удалить УКАЗАТЕЛЬНЫЙ URL-адрес веб-сайта из экземпляра WebView, я бы действительнопредпочитаю это.

Я попытался переопределить doUpdateVisitedHistory, как это:

    @Override
    public void doUpdateVisitedHistory(WebView view, String url, boolean isReload) {
        super.doUpdateVisitedHistory(view, url, isReload);
        view.clearHistory();
    }
...