在Android M42中,localStorage不会在混合应用程序中保留

时间:2015-04-26 11:02:13

标签: android cordova

在最新版本的Android系统WebView(M42 42.0.2311.129)中,混合应用程序中的localStorage似乎存在问题。

我已经提交了bug report,但我正在尝试找到一个解决方法,以解决没有在localStorage中保留的对象。

这取自错误报告:

Steps to reproduce the problem:
1. Start hybrid app built with phonegap
2. In app, call javascript localStorage.setItem("m42bug","test for localstorage")
3. Through developer tools debugging confirm object has been stored: localStorage.getItem("m42bug")
4. Close app 
(swipe it away, force close it or restarting the device all cause the same)
5. Start app
6. In app, call javascript localStorage.getItem("m42bug")

预期的行为是什么?

localStorage.getItem("m42bug")应返回值“test for localstorage”

出了什么问题?

localStorage.getItem("m42bug")返回null。

Object.keys(localStorage)表示m42bug

没有密钥

2 个答案:

答案 0 :(得分:1)

面对完全相同的问题。对于解决方法,我们会在应用程序退出时将本地存储数据存储在手机上,并在应用启动时从那里恢复。工作正常:)希望它有所帮助:)

答案 1 :(得分:1)

是一个错误,我报告this,它不仅影响WebView,还影响webapps(Chrome)。

在我的情况下,我从localStorage移到了IndexedDB,这似乎工作正常。事实上,我已将我的应用的所有数据管理重写为ForerunnerDB,并且效果很好。