2011-01-13 9 views
10

Sto utilizzando jQueryMobile e phoneGap per un'applicazione mobile cross-device. Io uso la memoria locale html 5 per conservare i record che hanno funzionato per utente.Quale evento catturare per l'arresto dell'applicazione?

Non so quale evento PhoneGap catturare prima dello spegnimento dell'applicazione, così posso assicurarmi che i dati vengano salvati prima che l'arresto sia completato.

Base su suggerimento da parte di naughtur, ho provato sia a scaricare che a caricare eventi, nessuno dei due è stato attivato durante l'arresto dell'app. In seguito è il mio codice snip:

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

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

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

che è interessante. provare a scaricare e scaricare gli eventi e postare se funzionano. In caso contrario, dovremo analizzare gli apis di PhoneGap – naugtur

+0

Grazie naugtur! Avevo accettato alcune risposte, ma la percentuale non sembra rifletterci. Ma grazie comunque!! – xueru

+0

Provato sia a scaricare che a caricare prima, nessuno dei due ha sparato durante la chiusura dell'applicazione. – xueru

risposta

7

Sono sicuro al 100% sull'utilizzo di scaricare gli eventi, perché quelli tecnicamente possibile (non so se questo accade in PhoneGap) anche essere licenziato durante il caricamento di una pagina web diversa, vale a dire che va index.html to about.html all'interno della tua app PhoneGap.

Almeno per Android, si ha accesso agli eventi resume e pause. Così si può fare:

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