BlackBerry - 在App中接收推送消息

时间:2013-09-04 06:11:08

标签: blackberry push-notification push message

我已成功开发了一个注册BlackBerry Push Messaging Service并收到推送消息的BlackBerry App。收到Push Message作为弹出消息。我正在后端处理,以便在我创建的Chat Screen中的应用程序内显示此消息。发送到设备时的推送消息也存储在数据库中。该应用程序有一个运行的计时器,用于查询数据库中的任何新消息并将其显示在应用程序内。然而,这种方法效率不高,因为我希望一旦作为推送消息发送消息就显示消息。我的问题如下:

  1. 当应用程序关闭且服务器发送推送消息时,是否会传递此消息?
  2. 收到推送消息时,如何强制启动应用程序?
  3. 是否有任何特定的API或方法可用于检测何时收到推送消息?
  4. 收到邮件后,我可以更改应用程序图标。但是,我希望在收到push message弹出窗口后立即更改。那么除了运行后台计时器之外,如何检测何时收到push message
  5. 请指导。

1 个答案:

答案 0 :(得分:1)

我同意轮询数据库以获取新消息并不是一个好的解决方案。

我要做的是在您的应用中implement two entry points

1)后台进程,扩展了BlackBerry Application类。这是非图形化的,会监听推送通知。

2)一个普通的用户界面,我认为你称之为“应用程序”。这将扩展UiApplication类。

当您的后台进程收到推送通知时,您可以选择打开UiApplication,以便您的用户可以处理新的聊天消息。

回答你的问题:

  1. 是的,将收到推送通知,因为后台进程始终在运行(您应该确保检查BlackBerry_App_Descriptor.xml文件中的启动时自动运行框,背景切入点)。 See more here

  2. 后台进程可以将UI应用程序带到前台with this code

  3. 有多种方式可以接收推送通知...请参阅下面的链接。听起来你已经实现了这个。不过,我认为关键是您将推送处理代码放在后台 Application中。然后,您的UI应用程序不需要任何特殊的API。您的后台应用程序只是在时间打开UI。它可以选择将数据传递到UI应用程序with this technique

  4. 同样,您需要设置两个入口点:一个背景Application和一个普通UiApplication。后台应用程序将在启动时运行,注册推送通知,并在它们进入时接收推送通知(不进行轮询)。然后,您可以决定要做什么,包括打开您的用户界面(UiApplication)。

  5. 有关推送和进入点的更多信息