安卓2.3.6 +的PhoneGap + localStorage的(Android 2.3.6 +

2019-09-22 06:55发布

我正在开发使用的PhoneGap和jQuery Mobile的移动应用。

我有从QA,关于三星Galaxy Y(安卓2.3.6)报告 - localStorage的是空,因此会导致应用崩溃。

据我所知,应该的localStorage在Android 2.0以上版本的支持,我甚至已经添加以下代码到DroidGap类:

super.appView.getSettings().setAllowFileAccess(true);        
super.appView.getSettings().setDatabaseEnabled(true);
super.appView.getSettings().setDatabasePath("/data/data/" + appView.getContext().getPackageName() + "/databases/");
super.appView.getSettings().setDomStorageEnabled(true);    

所以我努力理解为什么localStorage的似乎不是这个特定的设备上得到支持。 有人告诉我,它甚至可以运行在具有相同版本的Android的其他设备OK!

有没有我不是任何设置或其他东西知道可能导致的localStorage为空?

Answer 1:

您可以运行在Android SDK安装文件夹的平台工具文件夹logcat的,我的机器上是这样的: C:\Program Files (x86)\Android\android-sdk\platform-tools

只要运行adb logcat从命令提示符。 你会得到很多信息。

我创建了一个测试应用程序并运行它在银河Ÿ已在onDeviceReady功能下面的代码。 使用logcat的它显示了不支持的消息

if (typeof window.localStorage == 'object')
{
    // localStorage is supported
    console.log('**HelloGap: localStorage is supported');
}
else
{
    // localStorage is not supported
    console.log('**HelloGap: localStorage is NOT supported');
}

可以过滤来自logcat的消息,但我一直没能得到那个工作,所以我只是重定向输出到一个文本文件,然后搜索它**HelloGap



Answer 2:

因此,原来从1.8.1到2.0.0修复了问题升级的PhoneGap(科尔多瓦)....



Answer 3:

我有问题,2.3.6和localStorage的还让我与科尔多瓦2.2.0测试2.3.3和2.2 AVD图像融合在一起,似乎localStorage的支持,但应该被称为window.localStorage不无窗范围,但什么是工作在Android 4.x版和桌面版Chrome。 但还有另一个问题,即重新启动应用程序时的localStorage是不是永久的,我看到的水合作用,它一次又一次地应用reinstalation提供平等的问题,所以我认为这是由同一个问题的影响。



文章来源: Android 2.3.6 + Phonegap + localStorage