2011-01-13 8 views
10

Ich verwende jQueryMobile und phoneGap für eine geräteübergreifende mobile Anwendung. Ich verwende html 5 lokalen Speicher, um Datensätze zu erhalten, die vom Benutzer bearbeitet wurden.Welches Ereignis zum Beenden der Anwendung wird gestoppt?

Ich weiß nicht, welches phoneGap-Ereignis kurz vor dem Herunterfahren der Anwendung zu erfassen ist, damit ich sicherstellen kann, dass Daten gespeichert werden, bevor das Herunterfahren abgeschlossen ist.

Basis auf Vorschlag von Naughtur, ich versuchte sowohl entladen und vorunfall Ereignisse, keiner von ihnen gefeuert während App-Shutdown. Im Anschluss ist mein Code Schnipsel:

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

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

$(document).ready(init); 
+0

, die interessant ist. Versuchen Sie, Ereignisse zu entladen und vorher zu entladen, und posten Sie zurück, ob sie funktionieren. Wenn nicht - wir müssen graben Telefonische Apis – naugtur

+0

Danke naugtur! Ich habe einige der Antworten akzeptiert, aber der Prozentsatz scheint sie nicht zu reflektieren. Danke trotzdem!! – xueru

+0

Versuchte sowohl Entladen als auch Vorunfrei, keiner von ihnen feuerte während des Schließens der Anwendung. – xueru

Antwort

7

ich nicht 100% sicher bin über Ereignisse mit entladen, weil die technisch konnte (nicht sicher, ob dies in PhoneGap geschieht) auch gefeuert werden, wenn eine andere Webseite geladen wird, dh gehen index.html zu ca..html in Ihrer PhoneGap App.

Zumindest für Android haben Sie Zugriff auf resume und pause Ereignisse. So können Sie tun:

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);