Blackberry 如何从监听器控制gui
我有一个实现ViewListener的Listener类,它包含两个方法,open和close,当任何受监控邮箱的电子邮件处于打开/关闭状态时,它们都会触发。这是从一个扩展UiApplication的类应用程序调用的,当我阅读一封电子邮件时,open方法被激发,我想用一个特定的屏幕调用我原来的应用程序类,向应用程序发送消息就足够了。现在我有了它,所以App有一个静态变量,用于存储设备上运行的App实例。我用它来调用一个方法来改变屏幕,但实际上它并没有显示出来。app.request前台似乎也不起作用 有什么想法吗 非常感谢 您是否尝试使用来处理此问题?如果您有一个后台系统进程在侦听事件,那么您的GUI进程可能甚至没有运行,也就是说,如果您执行了system.exit0而不是将其后台化。下面是一段代码,您可以使用它根据GUI进程的应用程序描述符查找GUI进程,如果GUI进程正在运行,则将其置于前台;如果GUI进程未运行,则启动GUI进程:Blackberry 如何从监听器控制gui,blackberry,Blackberry,我有一个实现ViewListener的Listener类,它包含两个方法,open和close,当任何受监控邮箱的电子邮件处于打开/关闭状态时,它们都会触发。这是从一个扩展UiApplication的类应用程序调用的,当我阅读一封电子邮件时,open方法被激发,我想用一个特定的屏幕调用我原来的应用程序类,向应用程序发送消息就足够了。现在我有了它,所以App有一个静态变量,用于存储设备上运行的App实例。我用它来调用一个方法来改变屏幕,但实际上它并没有显示出来。app.request前台似乎也不起
// Check if app is already running
ApplicationDescriptor descriptor = [descriptor for your GUI entrypoint];
ApplicationManager appManager = ApplicationManager.getApplicationManager();
int pid = appManager.getProcessId(descriptor);
if (pid != -1) {
// App is running, bring it to the foreground
appManager.requestForeground(pid);
} else {
// App is not running, so launch it
try {
appManager.runApplication(descriptor);
} catch (ApplicationManagerException e) {
// Can't launch
}
}
要获取GUI入口点的应用程序描述符,请使用以下方法:
使用CodeModuleManager.getModuleHandleForClassMyApp.class获取模块句柄
使用CodeModuleManager.GetApplicationDescriptorHandle获取句柄的应用程序描述符列表
检查每个描述符上的标志,直到找到一个等于0。这意味着它不是系统/自动启动/启动时运行描述符-可能是您的GUI入口点。
一个问题,gui入口点的描述符是什么/在哪里?