UiApplication无法维持其状态

时间:2013-09-11 15:19:49

标签: blackberry

我正在开发一个应用程序来执行以下操作。

  1. 跟踪来电/去电。
  2. 如果用户参加通话,断开通话后会弹出一个屏幕。(用户必须填写一些信息,内容将保存在(Sqlite)数据库中)
  3. 现在我正在做的是: -

    1. 首先制作不同的入口点(autostartup)&这是应用程序的入口点。 (逻辑工作正常)
    2. 实现跟踪传入/传出呼叫的电话听众(逻辑工作正常)
    3. 当呼叫断开时,将弹出详细信息屏幕,用户可以填满屏幕。 (逻辑工作正常)
    4. 但问题是当用户接收/执行调用并返回应用程序时,应用程序无法维护变量状态(如文件连接,应用程序中使用的全局变量),它们都将重置。这个问题我只能在传入/传出呼叫时间。

      • 我使用了运行时持久性存储,但在记录插入数据库时​​无效。
      • 我重新初始化了数据库类,但它根本不起作用。
    5. 请让我知道,为什么我会遇到这个问题。

1 个答案:

答案 0 :(得分:2)

“应用程序无法维护变量状态(如文件连接,应用程序中使用的全局变量),它们都会重置”

我认为您正在尝试将这些“全局”变量维护为“静态”变量。请记住,静态变量只对同一个Application实例是全局的。在这种情况下,电话监听器在不同的应用程序(电话应用程序)下调用,因此这些变量与您在应用程序中看到的变量不同。

要解决此问题,我建议您做两件事:

a)使用RuntimeStore提供存储共享(全局)变量的位置:

http://supportforums.blackberry.com/t5/Java-Development/Create-a-singleton-using-the-RuntimeStore/ta-p/442854

b)让听众尽可能少地做,使用全局事件将所需信息传递回应用程序上下文中的应用程序:

http://supportforums.blackberry.com/t5/Java-Development/Global-Events-and-Global-Event-Listeners/ta-p/444814

但也许我没有清楚地理解你的问题,如果没有,请澄清。