使用黑莓服务的通信处理4.5

问题描述:

我正在开发一个应用程序。 (如谷歌谈话),在手机启动时启动一个持续运行的后台服务。该服务与UI交互(意味着任何对服务器的请求首先从UI发送到服务&,从服务到服务器)&任何响应通过服务发送到UI。使用黑莓服务的通信处理4.5

什么,我知道在启动时启动后台服务是“创建一个备选入口点,并用它来启动后台服务。”

right click the project properties then go to Application tab, then check "Auto run on startup"/"System Module"

是不是?

在Android中,您可以使用系统定义的Service类来实现此服务。如何在黑莓4.5中实现这一点?我想在一个项目中完成(UI &服务)。

任何解决方案?


感谢您的回复。

我有一个链接,

"How To - Setup an alternate entry point for my application"

是它来启动服务的解决方案?

我想要应用程序。比如电子邮件应用(即使你的主应用程序被最小化了,那么你的服务也会在后台运行,这将继续检查任何传入的邮件)&将通过任何应用程序图标更改通知主UI应用程序)

因此,对于这种情况,有没有像启动时启动的Service类或“为我的主UI应用程序设置备用入口点”这样的类是唯一的解决方案?


感谢您的答复..

我读这GlobalEveltListener &尝试用于处理应用程序2之间的通信(服务应用程序。& UI应用程序。)通过在开始自动启动的服务。

我使用“Persistent Store”&在这两个应用程序中访问它。但是,持久性存储名称应该是唯一的,否则会导致“链接器错误:无法启动服务应用程序,因为持久存储是多次定义的。”但是我必须访问Persistent Store这两个应用程序才能进行一些数据库调用。

所以,现在我尝试通过将两个应用程序放在一个项目中来处理服务。所以永久性商店将是独一无二的。

如何在一个项目中实现Service & UI之间的通信?

如果您希望程序在服务模式下运行,在启动时运行并在后台运行,您只需要一个备用入口点;在应用程序模式下,在主屏幕上有一个图标,用户可以点击开始与您的软件进行交互。在这种情况下,您需要有一个入口点,告诉程序“您在启动时自动启动”,并告诉程序“您是从用户交互响应开始的”。

还有其他的方法来处理这个问题。如果你的应用程序使自己可以通过ApplicationMenus用户,那么你做的唯一入口点“自动运行”,“系统模块”,这样它会在开机时,注册的菜单,并且不显示图标。

你也可以使用一个入口点设置为“自动运行”,而不是一个系统模块,以显示图标和检测上使用ApplicationManager.inStartup()方法启动的情况下开始。

你描述它为应用程序正在开发的类型正常工作的方法。它通过允许您在每个入口点为程序指定不同的参数来简化初始化过程。

+1

正确的,我想补充一点,在简单的背景运行的应用程序,你扩展了应用类,而不是UIApplication的。 – 2009-09-30 15:52:01

请参阅我刚才给不同的问题here答案。这基本上是两个正在运行的进程之间的IPC机制。

+0

我在做RuntimeStore。到目前为止,我能够在服务中创建的UI中获得对象。但它不从服务切换到用户界面? – Shreyas 2009-10-05 11:34:36