Phonegap – El almacenamiento local no funciona – Android

Estoy utilizando el almacenamiento local para pasar valores entre las páginas con el fin de crear un desplazamiento a efecto (el usuario hace clic en el enlace y se desplaza a la parte particular de la página basada en ID)

Yo estaba usando cookies anteriormente, pero que no parecía funcionar en Android, leí que el almacenamiento local fue apoyado por lo que pasó a eso. Funciona completamente bien cuando en el navegador, pero tan pronto como su paquete como una aplicación nativa pierdo toda la funcionalidad? La API afirma que debe ser apoyado, cualquier idea?

Aquí está mi código:

URL base:

var storage = window.localStorage; $("a.scroll_link").click(function(event) { event.preventDefault(); var value = $(this).attr("id"); storage.setItem("key",value); console.log(value); window.location=$(this).attr("href"); }); 

URL de recepción:

 $(function () { var value = window.localStorage.getItem("key"); if (value != "" && value != "undefined" && value != null) { var storage = window.localStorage; storage.setItem("key",value); var scroll_type = ""; if ($.browser.webkit) { scroll_type = "body"; } else { scroll_type = "html"; } $(scroll_type) .stop() .animate({ //get top-position of target-element and set it as scroll target scrollTop: ($("#" + value).offset().top - 25) //scrolldelay: 1.5 seconds }, { duration: 1500, complete: function () { storage.removeItem("key"); }, }); } }); 

El código funciona bien en el navegador no sólo nativamente, las ideas?

Gracias,

Utilice document.addEventListener ("deviceready", onDeviceReady, false) en lugar de $ (function () {…}

http://docs.phonegap.com/es/2.5.0/cordova_events_events.md.html#deviceready

1.Glad saber que usted soluciona su primer problema. Como gmh04 decir, creo que debe reemplazar su evento init con 'deviceready' que se activa cuando la aplicación comienza a correr.

2. ¿Quieres decir window.localStorage.getItem ("key") devuelve null en la URL de recepción? No encuentro exactamente un problema como lo que usted describe. Sin embargo, puede intentar mover su código en la url de recepción a la misma página de url de base. He intentado por tiempos y ser muy seguro que el localStorage trabajará en la misma página.

Me gustaría añadir que hay un error en la versión 2.6.0 de cordova.js que hacen que localStorage no funciona en Android:

https://issues.apache.org/jira/browse/CB-3063

En la versión 2.5.0 funciona perfectamente, y ya está arreglado en el rc 2.7.0.

  • Problema de android - html5 localstorage
  • Excepción de acceso ilegal con LocalStorage en Android Gingerbread
  • Guardar imagen en el espacio de almacenamiento local
  • Android 4.0.1 rompe el almacenamiento local HTML 5 de WebView?
  • Android Studio - ¿Cómo cargar contenido HTML5 desde una ruta local usando Webview?
  • ¿Cómo puede Android escribir un valor en HTML5 localstorage?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.