Domanda

Sto usando jQueryMobile e PhoneGap per un'applicazione mobile cross-device. Io uso html 5 storage locale a persistere i record che hanno lavorato dall'utente.

Non so quale evento PhoneGap per catturare poco prima della chiusura dell'applicazione in modo da poter verificare i dati vengono salvati prima del completamento di arresto.

Base su suggerimento da naughtur, ho provato sia scaricare e beforeunload eventi, nessuno di loro è stato licenziato durante l'arresto app. Di seguito è riportato 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);
È stato utile?

Soluzione

Io non sono sicuro al 100% su come utilizzare gli eventi di scaricamento, perché quelli tecnicamente possibile (non so se questo accade in PhoneGap) anche essere licenziato durante il caricamento di una pagina web diversa, cioè andare a index.html about.html all'interno del vostro PhoneGap app.

Almeno per Android, si ha accesso a riprendere e pausa eventi. 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);

Altri suggerimenti

L'evento unload è già Disponibile in Android e Blackberry e sarà implementato su tutte le piattaforme più presto.

vedi commenti qui: http: //phonegap.lighthouseapp .com / progetti / biglietti / 20118-android / 67-missing-evento-per-application-spegnimento

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top