
Недавно мне нужно было сделать таймер, запускающий некую задачу, через определенный промежуток времени.
Но отличия от стандартного решения заключались, в следующем:
- Во-первых, если задача не смогла выполниться, тут же необходимо повторить её. И так, до победного конца. После этого, возвращаемся в штатный режим.
- Во-вторых, может возникнуть необходимость запустить задачу вручную, не дожидаясь наступления следующего срабатывания таймера.
- И в-третьих, таймер должен запуститься в том случае, если устройство перезагружено, или была восстановлена связь с интернетом.
Задача была решена следующим образом.