Как я уже говорил в этой теме, я хочу, чтобы мой WebView предотвращал перезагрузку веб-страницы, когда на передний план выходит другое действие или просто при изменении ориентации. Причина в том, что содержимое WebView почти полностью создается с помощью Javascript/AJAX. После поиска на нескольких форумах я обнаружил, что многие люди предлагали использовать методы «saveState» и «restoreState», но когда я смотрю документацию, там говорится:
Обратите внимание, что этот метод больше не восстанавливает отображаемые данные для этого WebView. См. savePicture(Bundle, File) и restorePicture(Bundle, File) для сохранения и восстановления отображаемых данных.
Итак, здесь я использовал эти savePicture и restorePicture следующим образом:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
... некоторые другие строки ....
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
if (savedInstanceState == null){
loadInicialWebUi();
}else{
mWebView.restoreState(savedInstanceState);
boolean restoredPic = mWebView.restorePicture(savedInstanceState, new File("savedDisplayWebView.temp"));
Log.d(TAG, "restored Picture:" + restoredPic);
}
}
@Override
protected void onSaveInstanceState(Bundle savedInstanceState) {
mWebView.saveState(savedInstanceState);
boolean savedPic = mWebView.savePicture(savedInstanceState, "savedDisplayWebView.temp");
Log.d(TAG, "saved Picture:" + savedPic);
super.onSaveInstanceState(savedInstanceState);
}
И хорошо, эти журналы показали, что он сохраняет изображение, но не может его восстановить. Я подозреваю, что может быть что-то о ссылках на файлы, но я не мог придумать лучшего способа получить ссылку на файл, который я создал при сохранении состояния.
Кто-нибудь в восторге? Буду признателен за любые подсказки/предложения. Заранее спасибо.
Мануэль.