Полагаю, я понимаю, что происходит с кодом.
Поскольку, как вы можете видеть из моего кода, независимо от текущего времени дня, я вызываю scheduleLocalNotificationAsync 15 раз (начиная с 09:С 00 до 23:00, с возможностью ежедневного повторения).Однако, когда я открываю экран уведомлений в 12:40, я немедленно получаю 4 уведомления (по одному каждые 09:00, 10:00, 11:00 и 12:00).
Я полагаю, что expo немедленно вызывает функцию уведомления для4 прошло раз.Это не так для ios, но это происходит в Android.Я предполагаю, что это должно быть исправлено в экспо.
До этого я решил проблему, проверив текущий час и сравнив его со временем, которое должно быть запланировано, и, если оно пройдет, я планирую это на завтра.
let hour = currentDate.getHours();
// I changed the code below
// let not0 = new Date(year, month, date, 9)
// to this
let not0 = new Date(year, month, hour > 9 ? date + 1 : date, 9);
Я также создал выпуск expo github.https://github.com/expo/expo/issues/3946