Хотел запрограммировать будильник. Начал разрабатывать, использовал AlarmManager для реализации будильника. AlarmManager устанавливался при добавлении будильника (одноразовый). При достижении времени звонка, AlarmManager запускал broadcast receiver, а он, в свою очередь запускал сервис, в котором происходило основное действо (т.е. сам звонок). Все было хорошо. Но когда ставился многоразовый будильник, он звонил через раз.
Затем, я кардинально изменил подход: в foreground поставил IntentService, который в цикле проверял, какой будильник должен будет зазвонить. Все работало. Но... Аккумулятор начал таять на глазах.
Собственно, вопрос: как сделать так, чтобы и будильник работал, и аккумулятор был живой?