Эффективный способ программирования повторяющихся сигналов на Android, Java
Из того, что мне сказали, есть несколько разных способов реализации в Java для устройств Android того, чего я хочу достичь, что в основном состоит в том, чтобы делать то, что делает основная функциональность будильника в большинстве смартфонов, но навалом. То есть вместо сигналов тревоги за 7:00, 7:05, 7:10, 7:15 и 7:20 вы можете просто поставить группу сигналов тревоги между 7:00 и 7:20. Я хочу, чтобы это имело три основных повторяющихся варианта: указанные дни недели, указанные дни месяца и один указанный день без повторений. Я пытаюсь решить это самостоятельно, хотя я хотел бы посмотреть, как другие программисты решают эту проблему. Обратите внимание, что, хотя у меня есть некоторый опыт работы с Java, я не слишком опытен в разработке под Android.
1 ответ
Наиболее эффективным способом является планирование следующего сигнала тревоги каждой группы с использованием AlarmManager
,
использование setExact()
в API 19+ и set()
на старых версиях. Требуется использовать setExact()
при нацеливании на новые версии, если вы хотите, чтобы будильник сработал в точное запланированное время.
Когда будильник сработает, он проснется зарегистрированным BroadcastReceiver
, из которого вы можете запланировать следующую тревогу группы, если таковые имеются.