Cordova本地通知插件中的getTriggered()函数遇到问题

时间:2019-04-11 23:40:55

标签: ios cordova notifications

我正在为Cordova使用cordova-plugin-local-notifications。这是一个很棒的插件,已经使用了很多年了!我正在安排通知,现在,当它们触发时,我想在应用程序中显示它们,以及将它们显示为本地通知。

当我不点击本地通知时,此方法工作正常。但是,如果我点击通知,通知将不会出现在插件的geTriggered()列表中。

插件版本:0.9.0-beta.3 平台:iOS 操作系统版本:12.1.1 设备制造商/型号:Apple iPhone 科尔多瓦版本(cordova -v):6.5.0 Cordova平台版本(cordova platform ls):4.2.1

复制步骤

  1. 安排通知
  2. 该通知将触发
  3. 在应用程序运行时或在另一个iOS屏幕上轻按
  4. 运行getTriggered()函数,此最新通知不会显示

以下是我安排通知的示例:

singleObj = {
  id: 110,
  text: "An example notification",
  priority: 2,
  foreground: true,
  trigger: {
    every: {
        weekday: 3,
        hour: 10,
        minute: 0
    }
  }
};

注意:singleObj和其他放入listOfObjects。 cordova.plugins.notification.local.schedule(listOfObjects,scheduleCallback);

在通知触发后,我运行:

cordova.plugins.notification.local.getTriggered(function (notifications) {
   for (n = 0; n < notifications.length; n = n + 1) {
     notifList.push(notifications[n].id);
   }
   window.alert("notifications " + notifList);
});

同样,如果我不轻按通知,此方法很好,但如果我轻按通知,则不起作用。

有什么想法为什么被窃听的通知不会出现在getTriggered()列表中?

作为替代方案,我尝试为click事件定义一个侦听器。永远不会调用此函数。 (与“触发”事件相同。)

cordova.plugins.notification.local.on('click', function (notification) {
  store.set('clickedNotification', 1);
});

(这是我在此插件上发布到问题板上的内容的副本。)

任何帮助都会很棒!

乔恩

0 个答案:

没有答案