Какое событие для закрытия приложения?
Я использую jQueryMobile и phoneGap для мобильного приложения с несколькими устройствами. Я использую локальное хранилище html 5 для сохранения записей, которые были обработаны пользователем.
Я не знаю, какое событие phoneGap нужно поймать перед отключением приложения, поэтому я могу убедиться, что данные будут сохранены до завершения завершения.
Основываясь на предположении от naughtur, я пробовал как выгружать, так и события beforeunload, ни один из них не был запущен во время закрытия приложения. Ниже приведен мой код:
function persistTasks(){
alert ("is unloading the app");
offlineTasklist.set("tasks", tasklist);
}
function init() {
document.addEventListener("unload", persistTasks, false);
login();
}
$(document).ready(init);
Ответы
Ответ 1
Я не уверен на 100% об использовании выгружаемых событий, потому что технически они могут (не уверены, что это происходит в PhoneGap) также запускаются при загрузке другой веб-страницы, то есть переходе index.html на about.html внутри вашего PhoneGap приложение.
По крайней мере, для Android у вас есть доступ к resume и приостановить. Итак, вы можете сделать:
document.addEventListener('pause', function() { alert('this alert will show up in the background while your app is paused.'); }, false);
document.addEventListener('resume', function() { alert('this alert will show up when you open the app back up.'); }, false);
Ответ 2
Событие unload
уже доступно в Android и Blackberry и скоро будет реализовано на всех платформах.
Смотрите комментарии здесь:
http://phonegap.lighthouseapp.com/projects/20118-android/tickets/67-missing-event-for-application-shut-down