需要帮助才能在离子2

时间:2017-11-08 17:20:26

标签: notifications ionic2

我尝试使用具有不同ID的for循环进行多次通知。

我不知道为什么当我测试代码时,只有一个通知播放?另一个通知被取消(不播放)。

这是我的代码

addNotifications(){

    this.localNotifications.cancelAll();
    this.TempExamsList.forEach(e=>{
        let notificationTime = new Date();
        notificationTime.setFullYear(
        parseInt(moment(e.date,"YYYY-MM-DD").format("YYYY")),
        parseInt(moment(e.date,"YYYY-MM-DD").format("MM"))-1,
        parseInt(moment(e.date,"YYYY-MM-DD").format("DD")));
        notificationTime.setHours(parseInt(moment(e.time,"HH:mm").format("HH")));
        notificationTime.setMinutes(parseInt(moment(e.time,"HH:mm").format("mm")));
        this.localNotifications.schedule({
            id: new Date().getUTCMilliseconds(),
            title: e.name,
            text: "Location: " + e.location + " - Time: " + e.time,
            at: notificationTime,
            //sound: null,
        });
    })

    this.TempTasksList.forEach(t=>{
        let notificationTime = new Date();
        notificationTime.setFullYear(
        parseInt(moment(t.date,"YYYY-MM-DD").format("YYYY")),
        parseInt(moment(t.date,"YYYY-MM-DD").format("MM"))-1,
        parseInt(moment(t.date,"YYYY-MM-DD").format("DD")));
        notificationTime.setHours(parseInt(moment(t.time,"HH:mm").format("HH")));
        notificationTime.setMinutes(parseInt(moment(t.time,"HH:mm").format("mm")));
        this.localNotifications.schedule({
            id: new Date().getUTCMilliseconds(),
            title: t.name,
            text: "Time: " + t.time,
            at: notificationTime,
            //sound: null,
        });
    })
} 

1 个答案:

答案 0 :(得分:0)

基于离子文档:

this.localNotifications.schedule([{
   id: 1,
   text: 'Multi ILocalNotification 1',
   sound: isAndroid ? 'file://sound.mp3': 'file://beep.caf',
   data: { secret:key }
  },{
   id: 2,
   title: 'Local ILocalNotification Example',
   text: 'Multi ILocalNotification 2',
   icon: 'http://example.com/icon.png'
}]);

循环条件

this.localNotificationsArray = [];
this.tempTaskList.forEach( data =>{
    this.localNotificationsArray.push({
       id: 1,
       text: data.yourTask,
       title: data.title,
       icon: 'http://example.com/icon.png'
       data: { secret:key }
      }
    });
});
this.localNotifications.schedule(this.localNotificationsArray);

试试,也许是有效的。 如果我是你,我不会在通知上加载这么多项目。只需使用一次,并在列表视图中描述详细信息。

您的错过是使用[]例如this.localNotifications.schedule([])

解释的多个通知