android cordova local-storage android-2.3-gingerbread

Excepción de acceso ilegal con LocalStorage en Android Gingerbread



cordova local-storage (3)

La excepción ilegal fue causada por los métodos JSON.parse () cuando .getItem () devuelve null. Solo ten cuidado de validarlo. Android 2.3, HTML5 localStorage y Phonegap están funcionando perfectamente ahora.

Hice una aplicación Android / Phonegap, y funciona bien en todos los dispositivos con varias versiones del sistema operativo Android, excepto en algunos teléfonos Gingerbread (2.3). Estoy usando Phonegap 1.9.

Depurando el código, realicé una illegal access exception en Javascript, cada vez que uso los localStorage.getItem() HTML5 localStorage.getItem() y localStorage.setItem() .

¿Cómo puedo habilitar las características localStorage en esos dispositivos Android?


Verifique el código de WebSettings de su WebView, es decir, verifique que se llame a los siguientes:

WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true); settings.setDatabaseEnabled(true); settings.setDatabasePath(this.getApplicationContext() .getDir("database", Context.MODE_PRIVATE).getPath()); settings.setDomStorageEnabled(true);


Esta validación me funciona :) (javascript en Android 2.3 usa phonegap)

Storage.prototype.getArray = function(key) { if (this.getItem(key)) { return JSON.parse(this.getItem(key)) } else { //console.log("no error null value"); } }