Intereting Posts
Показывать несколько изображений в изображении. Просмотр один за другим с повторным эффектом слева направо. «Невозможно исключить финализатор» при открытии MapActivity NDK Debug для Nexus 9 arm64-v8a не работает для eclipse Android Camera2 API – обнаружение, когда у нас есть фокус Как получить текущее местоположение в Google Maps API V2 Общие указатели: есть ли какие-либо отличия между шаблоном «sp <>» для Android и шаблоном «shared_ptr <>» от BOOST? Phonegap 2.4.0 с Android 4.2 – странное поведение двойного клика Как выделить ImageView при фокусировке или нажатии? Текст и изображение ArrayAdapter Android RelativeLayout: как выравниватьParentBottom при завершении в ScrollView? Ошибка GridLayoutManager spanSizeLookup Внедрение графа множественного входного фильтра с библиотекой Libavfilter в Android NDK Android SensorManager не позволяет эффективно отменить регистрацию слушателей Андроид первая вкладка намерения oncreate всегда вызывается, независимо от того, что мы устанавливаем tab2 как вкладку по умолчанию Android Streaming Video – соотношение сторон со звуком

Метод restorePicture WebView – Предотвращение веб-просмотра для перезагрузки страницы

Как я уже говорил в этой теме, я хочу, чтобы мой 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); } 

И хорошо, эти журналы показывали, что это сохраняет картину, но не может ее восстановить. Я подозреваю, что может быть что-то в ссылках на файл, но я не мог придумать лучшего способа получить ссылку на созданный мной файл при сохранении состояния.

Кто-то взволнован? Я был бы признателен за любые подсказки / предложения. Заранее спасибо.

Мануэль.

Я бы загрузил страницу в onCreate() и поместил этот атрибут в свою активность в манифесте:

 android:configChanges="orientation|keyboardHidden" 

Это предотвратит перезапуск вашей активности при изменении ориентации. И поскольку ваша активность загружает страницу в onCreate() , onCreate() другого действия на передний план не приведет к перезагрузке страницы.