Android Gingerbread上使用LocalStorage进行非法访问异常

时间:2012-10-11 18:48:41

标签: android cordova local-storage android-2.3-gingerbread

我制作了一个Android / Phonegap应用程序,它在所有具有多个Android操作系统版本的设备上运行良好,除了一些姜饼(2.3)手机。我正在使用Phonegap 1.9。

调试代码时,每次使用HTML5 illegal access exceptionlocalStorage.getItem()方法时,我都会在Javascript上实现localStorage.setItem()

如何在这些Android设备上启用localStorage功能?

3 个答案:

答案 0 :(得分:8)

当.getItem()返回null时,非法异常是由JSON.parse()方法引起的。请小心验证它。 Android 2.3,HTML5 localStorage和Phonegap现在运行良好。

答案 1 :(得分:0)

检查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);

答案 2 :(得分:0)

这个验证对我有用。 :)(android 2.3中的javascript使用phonegap)

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

    }