In this chapter we learned to schedule work for our applications to perform at some time in the future, either as a one-off operation or at regular intervals.
We learned to set alarms relative to the system clock or real time, how to wake the device up from a deep sleep, and how to cancel alarms when we no longer need them.
Our exploration covered various options for responding to alarms, including bringing an
Activity to the foreground or doing work directly in a
BroadcastReceiver, synchronously or asynchronously.
Finally, we arranged for a
Service to be launched with a
WakeLock to keep the CPU from powering down while our long-running background work is completed.
Over the course of this book, we've armed ourselves with a powerful array ...