#android #ios #react-native #expo #expo-notifications
#Android #iOS #реагировать-родной #expo #expo-уведомления
Вопрос:
Мое приложение из expo bare workflow
.
Использование последних уведомлений expo amp; expo.
"expo": "^39.0.0",
"expo-notifications": "~0.7.2",
Проблема
Я пытаюсь запланировать повторное уведомление каждый день утром с 9 утра и вечером с 9 вечера каждый день. Каждый раз, когда пользователь открывает приложение, я отменяю все старые уведомления и планирую новое (пробовал с проверкой запланированного уведомления, если не существует нового расписания). Похоже, что в симуляторе Android это работает нормально, когда я устанавливаю приложение в телефоне, оно очень редко или несколько раз ничего не вызывает в течение недели. Я только что следовал приведенной документации для повторных локальных уведомлений. Нужна помощь…
Код
// Cancel All notifications
await Notifications.cancelAllScheduledNotificationsAsync();
//9AM notification
await Notifications.scheduleNotificationAsync({
identifier: 'morning-1',
content: {
title: `Good Morning!`,
subtitle: 'Greetings',
body: `Have a great day`,
sound: true,
color: "#ffffff",
data: {
to: 'new-log'
}
},
trigger: {
hour: 9,
minute: 0,
repeats: true
}
});
//9PM notification
await Notifications.scheduleNotificationAsync({
identifier: 'night-notification',
content: {
title: `Good Night :)`,
subtitle: 'Have a great sleep :D',
body: `Have a great sleep :D',
sound: true,
data: {
to: 'new-log'
},
color: "#000000" },
trigger: {
hour: 21,
minute: 0,
repeats: true
}
});
Но он не запускает уведомления должным образом, что я заметил, он будет показывать уведомления, например, 3 дня один раз или еженедельно один раз, а иногда и ничего. это вообще не срабатывает в заданное время.
Обновление, по-видимому, его оптимизация батареи пользовательских интерфейсов, таких как MIUI, Oxygen OS, из-за чего уведомление не отображается, когда устройство находится в режиме ожидания. Обходной путь, который я нашел, — попросить пользователя отключить оптимизацию заряда батареи для приложения. Но я чувствую, что уведомления должны переопределять dozemode независимо от оптимизации батареи…
Комментарии:
1. Нашли ли вы какое-либо другое решение, кроме отключения оптимизации заряда батареи?
2. ничего. я прекратил работу над этим