2013-04-20 2 views
10

Я хотел бы сохранить данные на мобильном устройстве пользователя с помощью localStorage. Мое приложение построено с помощью телефонного разговора.LocalStorage не работает с Phonegap

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

Когда я делаю этот код после window.localStorage.setItem("id", "value");, я получаю «значение», но если бы я выйти из приложения и запустить его снова, я получаю «нуль».

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

Выход, кажется, очищает объект localStorage.

Любая идея?

РЕДАКТИРОВАТЬ: данные остаются постоянными при выходе из приложения, нажимая кнопку «Назад», но когда я убиваю приложение из последних приложений, данные очищаются. В чем проблема ?

+0

http://stackoverflow.com/questions/10881059/localstorage-cleared-on-app-restart-with-cordova-1-7-and-ios-5-1-1 Попробуйте это – zubair

+0

Это тоже не стойкое: s –

+0

У этого вопроса есть рабочий ответ, который не требует использования базы данных http://stackoverflow.com/questions/16240613/localstorage-store-not-persisting-on-android-phone-when-app-stops-using- sencha-t – George

ответ

1

Вы звоните где-то в window.localStorage.clear() ;?

+0

Да, я попытался удалить эти строки, но он тоже не работает. Посмотрите на мое редактирование –

+0

Когда приложение будет убито с помощью диспетчера задач, процесс javascript впоследствии будет убит. Когда javascript убит, он не запускает событие, на которое вы можете действовать. – zubair

+0

Так есть решение? Или я не должен использовать localstorage? –

Смежные вопросы