1

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

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

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

这样对吗?

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

有什么解决办法吗?


谢谢回复。

我有一个链接

“如何 - 为我的应用程序设置备用入口点”

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

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

因此,对于这个,是否有任何类如 Service 类将在启动时启动或“为我的主 UI 应用程序设置备用入口点”是唯一的解决方案?


谢谢回复..

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

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

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

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

4

2 回答 2

4

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

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

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

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

于 2009-09-30T14:37:25.773 回答
0

请在此处查看我之前针对不同问题给出的答案。这本质上是两个正在运行的进程之间的 IPC 机制。

于 2009-10-05T07:52:04.783 回答