Blackberry UiApplication无法维护其状态
Blackberry UiApplication无法维护其状态,blackberry,Blackberry,我正在开发一个应用程序来做以下事情
跟踪传入/传出呼叫
如果用户接听电话,断开连接后会弹出一个屏幕。(用户必须填写一些信息,内容将保存在(Sqlite)数据库中)
现在我要做的是:-
首先创建不同的入口点(autostartup)&这是应用程序的入口点。(逻辑运行良好)
实现跟踪传入/传出呼叫的电话侦听器(逻辑正常)
当电话断开时,将弹出详细信息屏幕,用户可以填充该屏幕。(逻辑运行良好)
但问题是,当用户接收/执行调用并返回到应用程序时,应用程序无法维护变量状态(如文件连接、应用程序中使用的全局
我正在开发一个应用程序来做以下事情
跟踪传入/传出呼叫
如果用户接听电话,断开连接后会弹出一个屏幕。(用户必须填写一些信息,内容将保存在(Sqlite)数据库中)
现在我要做的是:-
首先创建不同的入口点(autostartup)&这是应用程序的入口点。(逻辑运行良好)
实现跟踪传入/传出呼叫的电话侦听器(逻辑正常)
当电话断开时,将弹出详细信息屏幕,用户可以填充该屏幕。(逻辑运行良好)
但问题是,当用户接收/执行调用并返回到应用程序时,应用程序无法维护变量状态(如文件连接、应用程序中使用的全局变量),它们都会被重置。这个问题我只在接听/拨出电话的时间得到
- 我使用了运行时持久性存储,但在将记录插入数据库时它不起作用
- 我重新初始化了数据库类,但它根本不起作用
请让我知道,为什么我得到这个问题 “应用程序无法维护变量状态(如文件连接、应用程序中使用的全局变量),它们都将重置”
我假设您正试图将这些“全局”变量维护为“静态”变量。请记住,静态变量仅对同一应用程序实例是全局的。在本例中,电话侦听器是在不同的应用程序(电话应用程序)下调用的,因此这些变量与您在应用程序中看到的变量不同
要解决这个问题,我建议做两件事:
a) 使用RuntimeStore提供存储共享(全局)变量的位置:
b) 让侦听器尽可能少地执行操作,使用全局事件将所需信息传递回应用程序上下文中的应用程序:
但也许我还没有清楚地理解您的问题,如果没有,请澄清。。我遵循了您的建议:“记住,静态变量仅对同一应用程序实例是全局的……因此,这些变量与您在应用程序中看到的变量不同。”。。。在您回答之前,我正在创建应用程序的两个入口点(一个是自动启动(后台电话侦听器),另一个是UI的主要入口点)…我只是想知道,他们是否需要将后台应用程序与UI应用程序结合使用。。因为PhoneListener在Ui应用程序中也可以正常工作。