Я создаю приложение «Напоминание о медицине», которое должно напоминать о потреблении лекарств на основе дат и часов, сохраненных в базе данных.Напоминание должно происходить в форме уведомления.Давайте предположим, что у меня есть одно лекарство, которое нужно употреблять дважды (для быстрого тестирования, например, в 9:50 вечера и 9:55 вечера).Уведомления запускаются нажатием кнопки.
Моя проблема - будет отображаться только первое уведомление, а остальные нет.
Это мой код:
public void makeNotifications(Date now, String[] medicineNames, Date[]
takingTime) {
WorkContinuation continuation = null;
for (int i = 1; i < medicineNames.length + 1; i++) {
Data.Builder dataBuilder = new Data.Builder()
.putString(MEDICINE_NAME_KEY, medicineNames[i - 1])
.putLong(MEDICINE_TAKING_TIME_KEY, takingTime[i - 1].getTime());
OneTimeWorkRequest.Builder requestBuilder =
new OneTimeWorkRequest.Builder(NotificationWorker.class)
.setInputData(dataBuilder.build());
if (i == 1) {
long diff = Math.abs(takingTime[i - 1].getTime() - now.getTime());
requestBuilder.setInitialDelay(diff, TimeUnit.MILLISECONDS);
continuation = mWorkManager.beginUniqueWork(
MEDICINE_NOTIFICATION_KEY,
ExistingWorkPolicy.KEEP,
requestBuilder.build());
} else {
long diff = Math.abs(takingTime[i - 1].getTime() - now.getTime());
requestBuilder.setInitialDelay(diff, TimeUnit.MILLISECONDS);
continuation.then(requestBuilder.build());
}
}
continuation.enqueue();
}
Есть ли у вас какие-либо предложения /объяснение / решение