繁体   English   中英

Android 2.3.6 + Phonegap + localStorage

[英]Android 2.3.6 + Phonegap + localStorage

我正在使用phonegap和jQuery mobile开发移动应用程序。

我有来自QA的报告,在三星Galaxy Y(android 2.3.6)上 - localStorage为null,因此导致应用程序崩溃。

据我所知,应该从Android版本2.0+支持localStorage,我甚至将以下代码添加到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的其他设备上运行正常!

是否有任何我不知道的设置或其他可能导致localStorage为null的事情?

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

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

我已经创建了一个测试应用程序并在一个Galaxy Y上运行它,该代码在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

所以事实证明,通过将Phonegap(cordova)从1.8.1升级到2.0.0解决了这个问题....

我有2.3.6和localStorage的问题所以我和Cordova 2.2.0一起测试了2.3.3和2.2 AVD图像,似乎支持localStorage但应该被称为window.localStorage而不是没有窗口范围但是什么工作在Android 4.x和桌面Chrome中。 但是还有一个问题是,当应用程序重新启动时,localStorage不会持久化,而且我在Hydratation中看到同样的问题,它会一次又一次地提供应用程序重新安装,所以我认为这会受到同样的bug的影响。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM