Парсинг сохранённого состояния веб-страниц встроенного WebView вручную

Есть WebView, состояние которого сохраняется в методе onSaveInstanceState и восстанавливается в onRestoreInstanceState в Activity примерно следующим образом:

@Override
protected void onSaveInstanceState(Bundle outState) {
    //...
    webView.saveState(outState);
    super.onSaveInstanceState(outState);
}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    //...
    webView.restoreState(savedInstanceState);
}

Если вызвать метод WebView#restoreState и передать этот Bundle, то WebView спарсит состояние, поймёт его и применит к WebView. Мне известно, что в этом Bundle сохраняется blob (значение типа byte[]) по ключу WEBVIEW_CHROMIUM_STATE. В этом состоянии хранится URL веб-страницы, куки, позиция прокрутки, и некоторые другие подобные данные.

А как можно самостоятельно спарсить данные из blob'а по ключу WEBVIEW_CHROMIUM_STATE из этого Bundle? Нигде не нашёл документацию, как можно с ним работать, как парсить, объект какого вообще типа представляет собой этот blob, может, какой-то Serializable... В исходном коде SDK также не удалось найти ничего полезного ввиду огромного количества уровней абстракции.

Вот пример, как выглядит blob в Bundle состояния WebView в текстовом виде для главной веб-страницы Яндекса:

blob


Ответы (0 шт):