如果通知数据中存在“ alarmId”,Android会自动清除通知

时间:2019-07-11 20:41:01

标签: javascript android cordova push-notification

我正在构建一个Cordova应用,该应用使用cordova-plugin-local-notifications触发本地android推送通知,这在大多数情况下似乎都可以正常工作,但我遇到了一个错误,该错误会触发我的一些通知,但立即得到从通知栏清除。其他通知将触发就好了。奇怪的是,工作通知和中断通知之间的唯一真正区别是,工作通知具有data选项,该选项包含一个reminderId键,而中断通知则包含一个alarmId键。 / p>

这是坏的:

scheduleNotification({
  id: notification.id,
  trigger: { at: new Date(notification.timestamp) },
  title: 'Precorrection Alarm',
  text: maybeBlank(alarm.name, 'Unnamed Alarm'),
  data: {
    type: 'alarm',
    alarmId: alarm.id
  }
})

但这很好用:

scheduleNotification({
  id: notification.id,
  trigger: { at: new Date(notification.timestamp) },
  title: 'Praise Reminder',
  text: maybeBlank(reminder.name, 'Unnamed Reminder'),
  data: {
    type: 'reminder',
    reminderId: reminder.id
  }
})

我很确定,此问题是由data选项引起的,因为如果我将它从损坏的通知中删除,它会很好地工作。

我是否误解了Android如何处理data字段?我以为它是用来与PN一起发送应用程序特定的数据的,但是它似乎根本不这样做(从PN打开时,启动选项中甚至没有该数据)。

我会在插件存储库中将此问题发布为问题,但这是那里的鬼城。

0 个答案:

没有答案