如何将事件侦听器添加到本地反应原生通知

Posted

技术标签:

【中文标题】如何将事件侦听器添加到本地反应原生通知【英文标题】:How to add event listener to local react native notification 【发布时间】:2017-07-29 04:27:45 【问题描述】:

目标

我在我的 react native 应用程序中设置了一个本地通知时间表,每小时一次。但是,我想实现我所说的“贪睡区”。我想要一种自动方式来关闭 A 小时和 B 小时之间的每小时通知。(也就是当有人在睡觉时,我不希望通知触发)

我的代码

首先我将我的本地通知设置为每小时的时间表,这就像一个魅力

PushNotificationios.scheduleLocalNotification(
  fireDate:Date.now(),
  alertBody:'Time to Track your Pain',
  repeatInterval:'hour',
);

然后我添加我的事件监听器

PushNotificationIOS.addEventListener('localNotification',this.checkSnoozeZone);

checkSnoozeZone 函数

checkSnoozeZone = () => 
  //this is where I want to reschedule the notification based on snooze zone times
  console.log("Event fired");

我的问题

该功能仅在我打开通知后触发。 PushNotificationIOS 的文档指出它应该在应用程序处于前台或后台时工作。我哪里错了?

【问题讨论】:

【参考方案1】:

文档指出,一个处理程序将用于通知,无论应用程序的状态是前台还是后台。在 iOS 中处理本地通知分为两部分 1. 通知本身 2. 自定义处理程序。在您的情况下,当应用程序按照应有的方式成为前台时,自定义处理程序会触发。 考虑使用单独的 Scheduler 来安排并取消本地通知或安排多个每日通知。

【讨论】:

以上是关于如何将事件侦听器添加到本地反应原生通知的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 中侦听通知关闭事件?

如何将信息窗口添加到标记事件侦听器 [重复]

如何侦听 Ace Editor 更改事件并做出反应

如何将事件侦听器添加到动画变换旋转?

如何正确地将事件侦听器添加到 React useEffect 挂钩?

Flutter 原生插件:事件监听器示例