10

我正在将 jQueryMobile 和 phoneGap 用于跨设备移动应用程序。我使用 html 5 本地存储来保存用户处理的记录。

我不知道在应用程序关闭之前要捕获哪个 phoneGap 事件,因此我可以确保在关闭完成之前保存数据。

根据 naughtur 的建议,我尝试了 unload 和 beforeunload 事件,在应用程序关闭期间它们都没有被触发。以下是我的代码片段:

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

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

$(document).ready(init);
4

2 回答 2

7

我不能 100% 确定使用卸载事件,因为从技术上讲,这些事件(不确定这是否发生在 PhoneGap 中)也会在加载不同的网页时被触发,即在 PhoneGap 应用程序中将 index.html 转到 about.html。

至少对于 Android,您可以访问恢复暂停事件。所以你可以这样做:

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);
于 2011-01-13T18:23:29.470 回答
1

unload活动已在 Android 和 Blackberry 中可用,并将很快在所有平台上实施。

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

于 2011-01-13T20:17:13.210 回答