Сохраняет ли WebView saveState () переменные / среду Javascript?
Я искал много тем и до сих пор не могу найти ответ на мой вопрос. Я'я работаю надAndroid
приложение, которое использует.WebView
я используюonSaveInstanceState()
а такжеonRestoreInstanceState()
чтобы сохранитьWebView
заявить, как это:
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
webView.saveState(savedInstanceState);
}
а также
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
webView.restoreState(savedInstanceState);
}
У меня также есть это в моем:onCreate()
public void onCreate(Bundle savedInstanceState) {
... other code ...
if(savedInstanceState != null){
webView.saveState(savedInstanceState);
}else{
webView.loadUrl("http://mypage");
}
}
Эта проблема: Кажется, что восстановлениеWebView
не восстанавливаетJavascript
переменные / окружение / рабочая область вообще. Когда приложение убивается в фоновом режиме и затем восстанавливается, весь Javascript исчезает со всеми объектами / переменными. Javascript-код разделен именами, то есть,window.utilitiesPack
window.eventHandlers
window.automation
и т.д., и они не определены. ТакжеJQuery
и другие плагины javascript используются: все они кажутся неопределенными после состояния восстановления. В основном весь Javascript не восстановлен.
Может кто-то подтвердить или опровергнуть, что это действительно так (JavaScript не сохранен)? Если все рабочее пространство Javascript не сохранено, то что именно делаетWebView.saveState()
спасти? Есть ли какой-нибудь простой / элегантный способ использовать существующий API для сохранения объектов Javascript?
// ================================================ ======
Update1: Так что проблема остается. Самая значительная трудность заключается в следующем:
Я запускаю камеруIntent
за результат. Когда снимок сделан, приложение возвращается кWebView
активность и предполагается использовать Javascript для обновления HTML5LocalStorage
с некоторыми переменными данных.
Основная деятельность сWebView
убивается, когда отображается активность камеры, поэтому, когда мы возвращаемся в WebView, больше нет Javascript и функций, которые я могу вызвать из кода Android. Это происходит каждый разGalaxy S3
, Это все еще происходит на других телефонах, но не каждый раз при съемке.
Дон»не знаю, что здесь делать. Каким-то образом я должен выполнить основную операцию с WebView, чтобы сохранить состояние, пока снимок делается с помощью Camera Intent. У кого-нибудь есть идеи, как этого можно достичь?