我正在尝试制作一个利用expo的本地通知功能的应用程序,但遇到了问题。我想发出一个通知,该通知每天以一定间隔重复,其数据每天都在变化。我尝试在下面使用此语法,但是由于它只运行了一次该函数,所以将其设置为固定值,以供其余通知使用。
预期(10分钟:“ 1”,20分钟:“ 2”,30分钟:“ 3”等)
实际(10分钟:“ 1”,20分钟:“ 1”,30分钟:“ 1”等)
Notifications.scheduleNotificationAsync({
content: {
title: 'My Notification',
body: this.someFunctionThatReturnsANewValue()
},
trigger: {
minutes: 10,
repeats: true
}
});
在那种情况下,我想知道是否有人对如何发出使用repeat属性的通知有任何想法,并且该通知的主体部分会在每次触发时更改值。我可以想到的给通知一个不同的值的唯一其他方法是,最后一次是预先安排100多个通知,但这不是很实际也不可行。非常感谢您对我如何完成此工作的任何帮助或建议,谢谢!
答案 0 :(得分:-1)
在组件的useEffect或应用程序的App.js中,声明Notifications.addNotificationReceivedListener事件。每当应用程序收到新通知时,它将执行一次。在异步函数内执行“ await Notifications.cancelAllScheduledNotificationsAsync();”清除计划的通知,然后使用新消息再次调用Notifications.scheduleNotificationAsync。指某东西的用途 重复:在这种情况下,不需要true。这样做,每次应用程序收到通知时,它都会清除以前存在的通知,并用不同的消息编写新的通知