IBM Worklight - 如何在更新应用程序之前执行JavaScript代码?

时间:2013-08-02 15:38:35

标签: ibm-mobilefirst jsonstore worklight-runtime

当有新的软件更新可用时,如果用户将数据存储在jsonstore中,我需要允许用户在应用软件更新之前将它们提交到服务器,因此他/她的未经更新的更新不会丢失。 目前,在安装更新之前,用户无法使用该应用程序。

有没有办法在更新应用程序之前执行JavaScript代码,这样我就可以在执行更新安装之前初始化jsonstore,获取数据并发送到适配器?

2 个答案:

答案 0 :(得分:0)

没有可供开发人员使用的程序化挂钩,以便在直接更新请求之前执行操作。

也就是说,直接更新不会在运行时本身发生,而只是:

  1. 应用程序初始化
  2. 从背景返回前景
  3. 所以据我所知,上面只有第二种情况没有得到处理 在第一个场景中,用户尚未执行任何数据操作。


    不确定我完全理解这个场景,因为你没有详细说明,但是......
    一种可能的解决方案是使用Cordova Events API (pause, resume)

    理论上,您可以检测应用程序负责移动到后台的情况,并希望在此之前将用户数据保存在辅助集合中。

    因此,当应用程序恢复但直接更新请求已到达并且主要集合以前未与服务器保存/同步时(可能会检查一些标志?)然后您可以使用辅助集合恢复应用程序状态;尽管有直接更新请求,但实质上是使用“未保存的”用户数据恢复应用程序。然后,您/用户可以保存并同步数据。

    或类似的东西。
    请随意submit a feature request

答案 1 :(得分:0)

我们看到在DirectUpdate之前触发了“unload”和“beforeunload”事件。如果数据在那个时间点仍然可以在内存中使用,这可能是代码的选项吗?

WL 5.0.6.1 Android - Direct Update keeps Native/Cordova resources active/in memory (e.g. BusyIndicator) but reference is lost