【发布时间】:2018-09-02 19:05:41
【问题描述】:
我正在使用Local Notifications 插件。我需要在每天上午 10 点触发通知。我使用了下面的代码。当我在同一天在不同的时间进行测试时,它工作正常。假设16H 5Min。但它不会在第二天自动工作。我可以保证下一个数据的所有数据都在那里。但似乎我在这里做错了什么。请告诉我错误在哪里?
Note: 即使在同一天,如果我们将应用程序置于后台模式大约1+ hours 左右,这也不起作用。
注意:在调试模式下工作正常。我不知道问题出在哪里。有什么线索吗?
app.component.ts
constructor(){
this.initializeApp();
}
initializeApp() {
try {
this.platform.ready().then(() => {
timer(60000, 60000).subscribe(val => {
const hours = moment().format("H");
const minutes = moment().format("m");
if (hours == '10' && minutes == '1')
this.scheduleNotification();
});
});
}
catch (err) {
console.log(err);
}
}
scheduleNotification() {
let firstNotificationTime = new Date();
firstNotificationTime.setDate(firstNotificationTime.getDate());
firstNotificationTime.setHours(10);
firstNotificationTime.setMinutes(1);
firstNotificationTime.setSeconds(0);
forEach(this.authenticationProvider.member.projects, (project: Project) => {
forEach(project.transactions, (transaction: Transaction) => {
if (transaction.dueOn != null && moment(transaction.dueOn).format('YYYY-MM-DD') == moment().format('YYYY-MM-DD')) {
const id = random(1, 1000);
this.localNotifications.schedule({
id: id,
title: 'Due Today',
text: `Payment for ${transaction.category.name}: ${transaction.description} of ${Number(transaction.totalPrice).toLocaleString()} is due today.`,
data: { transaction: transaction, project: project },
at: firstNotificationTime,
});
}
});
});
}
【问题讨论】:
标签: angular typescript ionic3 localnotification ionic-native