我正在构建一个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打开时,启动选项中甚至没有该数据)。
我会在插件存储库中将此问题发布为问题,但这是那里的鬼城。