Ответ 1
Нелегальное исключение было вызвано методами JSON.parse(), когда .getItem() возвращает null. Просто будьте осторожны, чтобы подтвердить это. Android 2.3, HTML5 localStorage и Phonegap работают отлично.
Я сделал приложение Android/Phonegap, и он отлично работает на всех устройствах с несколькими версиями ОС Android, за исключением некоторых телефонов Gingerbread (2.3). Я использую Phonegap 1.9.
Отладка кода, я понял illegal access exception
в Javascript, каждый раз, когда я использую методы HTML5 localStorage.getItem()
и localStorage.setItem()
.
Как включить функции localStorage
на этих устройствах Android?
Нелегальное исключение было вызвано методами JSON.parse(), когда .getItem() возвращает null. Просто будьте осторожны, чтобы подтвердить это. Android 2.3, HTML5 localStorage и Phonegap работают отлично.
Проверьте код для WebView WebSettings, например, вызывается следующее:
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDatabaseEnabled(true);
settings.setDatabasePath(this.getApplicationContext()
.getDir("database", Context.MODE_PRIVATE).getPath());
settings.setDomStorageEnabled(true);
Эта проверка работает для меня.:) (javascript в android 2.3 использует телефонную защелку)
Storage.prototype.getArray = function(key) {
if (this.getItem(key)) {
return JSON.parse(this.getItem(key))
} else {
//console.log("no error null value");
}
}