Запланированные уведомления не работают на iOS Flutter

Я использую flutter_local_notifications для планирования уведомлений в определенное время каждый день.

Пользователь может выбирать разные часовые пояса, он работает на Android, но не работает на iOS, так как у меня нет опыта работы с iOS, я не знаю, как он обрабатывает уведомления.

      Future<void> _showNotification(
  BuildContext? context,
  NotificationDetails platformChannelSpecifics,
  Prayer prayer,
  DateTime dateTime) async {// dateTime is the time in another time zone, and time is the time passed to the zonedScheduled method
var time = _nextInstanceOfPrayer(dateTime);

if (time == null) {
  return;
}

await flutterLocalNotificationsPlugin.zonedSchedule(
  _getId(time, prayer: prayer.toString()),
  prayer.toStr(context!),
  _getPrayerText(prayer.toStr(context)),
  time,
  platformChannelSpecifics,
  androidAllowWhileIdle: true,
  uiLocalNotificationDateInterpretation:
      UILocalNotificationDateInterpretation.absoluteTime,
);}

И этот способ узнать время:

      tzZone.TZDateTime? _nextInstanceOfPrayer(DateTime dateTime) {
final DateTime now = DateTime.now();

//converts time to specific location
tzZone.TZDateTime scheduledDate = tzZone.TZDateTime.from(
  dateTime.subtract(now.timeZoneOffset),
  tzZone.UTC,
);
if (scheduledDate.toUtc().isBefore(now.toUtc())) {
  return null;
}

return scheduledDate;}

Я пытаюсь добавить уведомление во время (время) по местному времени телефона, например, пользователь выбирает часовой пояс +5 GMT (17:00), а местный часовой пояс, скажем, +2 GMT (14:00 PM). ), Я хочу добавить уведомление с местным временем (5:00PM +5 GMT) и показать его (5:00 +2 GMT).

Я попытался преобразовать оба времени в UTC и показать уведомление в UTC - местный часовой пояс (как показано во втором коде), код показывает, что есть ожидающие уведомления, но когда я меняю время устройства, он ничего не показывает .

Примечание: когда я добавляю ручное время через 5 секунд, оно работает отлично

      DateTime.now().add(Duration(seconds: 5));

0 ответов

Другие вопросы по тегам