Summary
In this chapter, we explored the incredibly useful IntentService
—an ideal construct for performing long-running background tasks off the main thread, surviving well beyond the lifecycle of the initiating Activity, and even continuing to do useful work when the application is no longer in the foreground.
We learned how to send work to an IntentService
with parameterized Intents, how to process that work in the background by implementing onHandleIntent
, and how to send results back to the originating Activity using a PendingIntent
.
For cases where the application is no longer in the foreground or an operation is particularly long-running, we saw how to post notifications to the notification drawer, complete with progress updates.
In the next chapter, we'll use IntentService's superclass—Service
—to perform work on multiple background threads even when the host application is not in the foreground.