2013-04-20 10 views
10

Chciałbym zachować dane na komórce użytkownika z localStorage. Moja aplikacja jest zbudowana na phonegapie.LocalStorage nie jest trwały z Phonegapem

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

Kiedy robię ten kod po window.localStorage.setItem("id", "value");, otrzymuję „wartość”, ale jeśli zamknąć aplikację i uruchomić go ponownie, otrzymuję „null”.

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

Wyjście wydaje się usuwać obiekt localStorage.

Każdy pomysł?

EDYCJA: Dane są trwałe, gdy wyjdę z aplikacji, naciskając przycisk Wstecz, ale gdy zabiję aplikację z ostatnich aplikacji, dane zostaną usunięte. Jaki jest problem ?

+0

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

+0

to nie jest zbyt trwałe: s –

+0

to pytanie ma działającą odpowiedź, która nie wymaga korzystania z bazy danych http://stackoverflow.com/questions/16240613/localstorage-store-not-persisting-on-android-phone-when-app-stops-using- sencha-t – George

Odpowiedz

1

Czy dzwonisz gdzieś window.localStorage.clear() ;?

+0

Tak, próbowałem usunąć te linie, ale to też nie działa. Spójrz na moją edycję –

+0

Gdy aplikacja zostanie zabita przez menedżera zadań, proces javascript zostanie następnie zabity. Kiedy javascript jest zabity, nie wywołuje zdarzenia, na którym można działać. – zubair

+0

Więc czy istnieje rozwiązanie? Lub nie mogę używać localstorage? –