应用程序关闭哪个事件?

时间:2011-01-13 06:46:36

标签: cordova jquery-mobile

我正在将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);

2 个答案:

答案 0 :(得分:7)

我不是百分之百确定使用卸载事件,因为在加载不同的网页时,技术上可能(不确定这是否发生在PhoneGap中)也会被触发,即将index.html转移到PhoneGap中的about.html应用

至少对于Android,您可以访问resumepause个事件。所以你可以这样做:

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 :(得分:1)

unload事件已在Android和Blackberry中提供,并将很快在所有平台上实施。

在此处查看评论: http://phonegap.lighthouseapp.com/projects/20118-android/tickets/67-missing-event-for-application-shut-down