2013-04-20 9 views
10

Ich möchte Daten auf dem Handy des Benutzers mit localStorage behalten. Meine App ist mit PhoneGap erstellt.LocalStorage nicht persistent mit Phonegap

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

Als ich nach window.localStorage.setItem("id", "value"); diesen Code zu tun, erhalte ich „Wert“, aber wenn ich die Anwendung beenden und wieder starten, erhalte ich „null“.

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

Der Exit scheint das localStorage-Objekt zu löschen.

Irgendeine Idee?

EDIT: Die Daten sind persistent, wenn ich die App durch Drücken der Zurück-Taste beenden, aber wenn ich die App von den letzten Anwendungen kille, werden die Daten gelöscht. Was ist das Problem ?

+0

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

+0

Es ist auch nicht hartnäckig: s –

+0

Diese Frage hat eine funktionierende Antwort, die keine Verwendung der Datenbank erfordert http://stackoverflow.com/questions/16240613/localstorage-store-not-persisting-on-android-phone-when-app-stops-using-using- sencha-t – George

Antwort

1

rufen Sie irgendwo window.localStorage.clear() ;?

+0

Ja, ich habe versucht, diese Zeilen zu entfernen, aber es funktioniert auch nicht. Sehen Sie sich meine Bearbeitung –

+0

Wenn die App über den Task-Manager getötet wird, wird der Javascript-Prozess anschließend getötet. Wenn JavaScript deaktiviert wird, wird kein Ereignis ausgelöst, mit dem Sie handeln können. – zubair

+0

Also gibt es eine Lösung? Oder ich darf Localstorage nicht benutzen? –