2013-04-20 24 views
10

Mi piacerebbe mantenere i dati sul cellulare dell'utente con localStorage. La mia app è compilata con PhoneGap.LocalStorage non persistente con Phoneegap

function check_connection() 
{ 
    var id = window.localStorage.getItem("id"); 
    if(id != null) 
     // some code 
    console.log(id); 
} 

Quando faccio questo codice dopo window.localStorage.setItem("id", "value");, ottengo "valore", ma se esco l'applicazione ed eseguire di nuovo, ho "null".

document.addEventListener("deviceready", main, true); 
function main() 
{ 
    check_connection(); 
} 

L'uscita sembra cancellare l'oggetto localStorage.

Qualche idea?

MODIFICA: i dati sono persistenti quando si esce dall'app premendo il pulsante Indietro, ma quando si elimina l'app dalle app recenti, i dati vengono cancellati. Qual è il problema ?

+0

http://stackoverflow.com/questions/10881059/localstorage-cleared-on-app-restart-with-cordova-1-7-and-ios-5-1-1 Prova questo – zubair

+0

Non è persistente: s –

+0

questa domanda ha una risposta funzionante che non richiede l'uso del database http://stackoverflow.com/questions/16240613/localstorage-store-not-persisting-on-android-phone-when-app-stops-using- sencha-t – George

risposta

1

stai chiamando da qualche parte window.localStorage.clear() ;?

+0

Sì, ho provato a rimuovere queste righe ma non funziona anche. Guarda la mia modifica –

+0

Quando l'app viene uccisa tramite il task manager, il processo javascript viene successivamente eliminato. Quando javascript viene ucciso, non viene generato un evento su cui è possibile agire. – zubair

+0

Quindi c'è una soluzione? O non devo usare localstorage? –