Я хочу выполнить некоторую задачу (например, показать уведомление) по расписанию, например: 10:00 каждый день и 11:00 каждый понедельник и т. Д., Я не могу использовать AlarmManager, потому что временной интервал между задачами отличается и Я не могу запускать задачу каждую N секунду. Могу ли я указать несколько задач для AlarmManager? Как я могу это сделать и что я должен использовать?Как запустить задачу по расписанию в android?
ответ
Я не могу использовать AlarmManager, потому что интервал времени между задачами отличается
Да, вы можете.
Один из вариантов - использовать различные аварийные сигналы для различных задач. В вашем примере у вас будет один сигнал тревоги для «10:00 каждый день» и отдельно будильник для «11:00 каждый понедельник».
Другой вариант - использовать один сигнал тревоги для следующего, где он будет делать то, что делает ваша бизнес-логика (например, напоминать пользователю о событии), а затем рассылает следующий сигнал тревоги для следующего события. Например, используя мой часовой пояс, сейчас 07:45 в субботу. У вашего приложения будет сигнал тревоги AlarmManager
, чтобы получить контроль в 10:00 («10:00 каждый день»). Когда этот сигнал будет вызываться, он будет планировать будильник AlarmManager
на 10:00 в воскресенье («10:00 каждый день»). 10:00 в воскресенье, он будет планировать будильник на 10:00 понедельника («10:00 каждый день»). 10:00 в понедельник, он будет планировать будильник на 11:00 понедельника («11:00 каждый понедельник»). 11:00 в понедельник, он будет планировать будильник на 10:00 вторника. И так далее.
Если есть только несколько правил, я бы пошел с первым вариантом. Если бы не было N возможных правил, я бы пошел со вторым вариантом, чтобы не наводнять AlarmManager
.
Могу ли я указать несколько задач для AlarmManager?
Да. Убедитесь, что объекты PendingIntent
отличаются. Самый простой способ сделать это - использовать уникальные значения для параметра requestCode
до PendingIntent
заводских методов, таких как getBroadcast()
.
- 1. запустить задачу по расписанию раз в день
- 2. Событие MySQL не выполняет задачу по расписанию?
- 3. Как выполнить задачу Java по расписанию и по требованию?
- 4. Как установить уведомление по расписанию в android
- 5. Как запустить C# Winform в Azure по расписанию?
- 6. Задачи Windows по расписанию - запустить задачу как можно скорее после пропущенного графика
- 7. Не удалось запустить задание по расписанию
- 8. Как запустить периодическую задачу в android
- 9. MySQL - задание по расписанию
- 10. Как запустить сценарий python в фоновом режиме по расписанию?
- 11. Есть ли способ использовать запланированную задачу Windows, чтобы запустить URL-адрес или exe по расписанию?
- 12. Как запустить и остановить службу Windows по расписанию?
- 13. Как запустить конвейер Spinnaker по расписанию или времени?
- 14. Как запустить муравьиную сборку через дженкинсов по расписанию?
- 15. Обновления по расписанию на Android Wear
- 16. Как запустить задачу рейка?
- 17. Как запустить задачу MPI?
- 18. Уведомление о расписании по расписанию android
- 19. как запустить задачу параллельно?
- 20. Как запустить задачу после очистки в Gradle
- 21. Как запустить задачу в фоновом режиме в android.?
- 22. Отзывы по расписанию?
- 23. Ежедневные уведомления по расписанию
- 24. Функция выключения и включения по расписанию по расписанию
- 25. Сортировка по расписанию в Gridview
- 26. Время разговора по расписанию
- 27. dateiff по расписанию
- 28. Тестирование многопоточных заданий по расписанию
- 29. Запустить задачу при установке Android apk
- 30. Расхождение по расписанию Postgresql
Благодарим вас, @CommonsWare! Я написал это с помощью нескольких 'PendingIntent', и он работает так, как я ожидал! –