Передача объекта DateTIme в запланированное уведомление из списка, не работающего во Flutter / local_notifications - PullRequest
0 голосов
/ 09 июля 2020

Итак, у меня есть приложение, которое предлагает пользователю записывать звуковой фрагмент в случайное время каждый день, для чего я использую локальные уведомления. В качестве минимального примера у меня есть функция, которая генерирует список объектов DateTime.

scheduler(){
List<DateTime> test = [];
DateTime now = DateTime.now();
for (int i=0; i<3; i++) {
  now.add(Duration (minutes: 2));
  test.add(now);
}
return test;
}

У меня также есть список основного текста, который нужно добавить в тело уведомления, и список времен

List prompts = ['promt 1', 'prompt 2', 'prompt 3'];
List time = await scheduler();

У меня есть функция для планирования уведомления, но это работает, только если я вручную записываю запланированное время в

await scheduledNotification(notifications, title: 'Message from myApp',
    body: prompts[0],
    payload: '',
    type: null,
    scheduledNotificationDateTime: DateTime.now().add(Duration(minutes: 1));

, но если я пытаюсь передать время из списка объектов DateTime ничего не устанавливается

 await scheduledNotification(notifications, title: 'Message from myApp',
    body: prompts[0],
    payload: '',
    type: null,
    scheduledNotificationDateTime: time[0];

Ошибка отсутствует, и функция завершается (у меня есть вызов печати «набор расписания» в конце обрабатываемой функции), но запрос ожидающих уведомлений показывает, что нет ожидающих . Также проверка (time[0].runtimeType) подтверждает, что это объект DateTime. Это проблема, потому что в конечном итоге я хочу иметь возможность установить, скажем, 10 дней уведомлений заранее, используя для l oop при первом открытии приложения.

Есть ли что-то в том, как local_notifactions обрабатывает время расписания, которое я не понимаю?

...