Какое событие поймать для закрытия приложения? - PullRequest
10 голосов
/ 13 января 2011

Я использую jQueryMobile и phoneGap для мобильного приложения для нескольких устройств.Я использую локальное хранилище html 5 для сохранения записей, с которыми работал пользователь.

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

Основываясь на предложении от naughtur, я пробовал оба выгрузкии перед загрузкой событий ни одно из них не было запущено во время завершения работы приложения.Ниже приведен мой фрагмент кода:

function persistTasks(){
    alert ("is unloading the app");
    offlineTasklist.set("tasks", tasklist); 
}

function init() {
    document.addEventListener("unload", persistTasks, false);
    login();
}

$(document).ready(init);

Ответы [ 2 ]

7 голосов
/ 13 января 2011

Я не уверен на 100% в использовании событий выгрузки, потому что они технически могут (не уверен, происходит ли это в PhoneGap) также запускаться при загрузке другой веб-страницы, то есть при переходе index.html к about.html внутри вашего PhoneGapapp.

По крайней мере для Android у вас есть доступ к resume и pause событиям.Так что вы можете сделать:

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);
1 голос
/ 13 января 2011

Событие unload уже доступно в Android и Blackberry и скоро будет реализовано на всех платформах.

Смотрите комментарии здесь: http://phonegap.lighthouseapp.com/projects/20118-android/tickets/67-missing-event-for-application-shut-down

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...