返回前台时如何在工作灯中显示通知?

Posted

技术标签:

【中文标题】返回前台时如何在工作灯中显示通知?【英文标题】:How to display a notification in worklight when returning to the foreground? 【发布时间】:2014-11-13 04:33:43 【问题描述】:

我在我的一个应用程序中使用 Worklight 6.2 中的推送通知。

我有一个关于接收通知的问题。当我在应用程序中时,我会收到通知。

当我关闭我的应用程序或让我的应用程序进入后台时,我会在状态栏中收到通知,当我点击它时,它会将我带到应用程序,请求应用程序中提供的身份验证,然后转到列出所有消息的收件箱会显示新消息。

但是当我在我的应用程序处于后台时收到通知并在状态栏中看到通知并且如果我打开应用程序并查看收件箱页面而没有单击该通知,则不会显示消息,因为将执行的功能接收通知时不调用。

我需要给出解决方案来避免这种情况。是否有任何方法或选项可以显示当应用程序处于后台以及打开应用程序而不在状态栏中打开通知时收到的通知。

提前致谢

【问题讨论】:

【参考方案1】:

也许您可以使用Cordova resume event,从中您将调用pushNotificationReceived() 函数作为回调函数。

document.addEventListener("resume", pushNotificationReceived, false);

基本前提是,如果你在后台收到通知,那么一旦回到前台就应该执行上面的操作并显示通知。

同样,这只是基本前提,您可能需要修改 pushNotificationReceived() 实现以说明当您回到前台但没有通知时会发生什么(您可以实现一些逻辑来检查...) 和各种其他场景,当您遇到它们时。

【讨论】:

是的,通常该函数将包含消息。但是通过这种方式如何获取最新的通知。通常的函数将像这样的参数 pushNotificationReceived(props, payload)。我想要道具和要使用的有效载荷。如何在您提到的方法中获取消息和有效载荷。 推送通知的 JS API 不够强大,无法让您控制它;有一个队列,如果有超过 1 条消息,您将获得所有尚未处理的消息。 您的另一个选择是在您的混合应用程序中使用本机代码实现推送通知支持。有关此相关问题的更多信息:***.com/questions/26358191/…' 在第一种方法中如何处理消息队列。因为您正在调用一个不会发送消息的函数,如何获取队列。 正如我所写,在使用 JS API 时您无法控制队列(请随时提交功能请求,让 Worklight 产品设计人员对其进行评估);您需要使用我在混合应用程序中使用本机推送 API 的第二个建议进行调查。

以上是关于返回前台时如何在工作灯中显示通知?的主要内容,如果未能解决你的问题,请参考以下文章

android 如何实现后台时用通知栏显示有新的消息,当在前台时不显示通知

当应用程序处于前台时如何显示本地通知

Flutter Firebase如何控制通知在应用程序处于前台时不显示

如何使用 Firebase Cloud Messaging 在前台显示多个通知

单击推送通知后,当应用程序进入前台时如何显示自定义对话框

在前台单击推送通知横幅后如何触发操作