我尝试使用具有不同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,
});
})
}
答案 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([])