【问题标题】:Communication Handling using Service in Blackberry 4.5在 Blackberry 4.5 中使用服务进行通信处理
【发布时间】:2010-12-02 15:52:01
【问题描述】:

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

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

右键单击项目属性,然后转到应用程序选项卡,然后选中“启动时自动运行”/“系统模块”

对吗?

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

有什么办法吗?


感谢您的回复。

我有一个链接

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

它是启动服务的正确解决方案吗?

我想要这个应用程序。像电子邮件应用程序。它会在收到邮件时通知您(例如,即使您的主应用程序已最小化,然后您的服务也在后台运行,它将不断检查任何收到的邮件并通过任何应用程序图标更改通知主 UI 应用程序)

那么对于这个问题,有没有像 Service 类这样的类会在启动时启动,或者“为我的主 UI 应用程序设置一个备用入口点”是唯一的解决方案?


感谢您的回复..

我阅读了此 GlobalEveltListener 并尝试通过在自动启动时启动服务来处理 2 个应用程序(服务应用程序和 UI 应用程序)之间的通信。

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

所以现在我正在尝试通过将两个应用程序放在一个项目中来处理服务。这样 Persistent Store 将是独一无二的。

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

【问题讨论】:

    标签: blackberry blackberry-storm rim-4.5


    【解决方案1】:

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

    还有其他方法可以处理这个问题。如果您的应用程序通过 ApplicationMenus 向用户提供自己,那么您将创建唯一的入口点“自动运行”和“系统模块”,以便它在启动时启动,注册菜单并且不显示图标。

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

    您描述的方法确实适用于您正在开发的应用程序类型。它允许您在每个入口点为程序指定不同的参数,从而简化了初始化。

    【讨论】:

    • 正确,我想补充一点,在简单的后台运行应用程序中,您扩展 Application 类而不是 UIApplication。
    【解决方案2】:

    请参阅我之前对另一个问题 here 给出的答案。这本质上是两个正在运行的进程之间的 IPC 机制。

    【讨论】:

    • 我正在使用 RuntimeStore。到目前为止,我能够在 UI 中获取在服务中创建的对象。但它没有从 Service 切换到 UI?
    猜你喜欢
    • 2010-11-30
    • 2014-03-18
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 2019-07-19
    • 2019-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多