This lesson teaches you to

You should also read

Try it out

The IntentService class provides a straightforward structure for running
an operation on a single background thread. This allows it to handle long-running operations
without affecting your user interface's responsiveness. Also, an
IntentService isn't affected by most user interface lifecycle events, so it
continues to run in circumstances that would shut down an AsyncTask

However, in most cases an IntentService is the preferred way to perform
simple background operations.

This lesson shows you how to create your own subclass of IntentService.
The lesson also shows you how to create the required callback method
onHandleIntent(). Finally, the lesson describes
shows you how to define the IntentService in your manifest file.

Define the IntentService in the Manifest

<application
android:icon="@drawable/icon"
android:label="@string/app_name">
...
<!--
Because android:exported is set to "false",
the service is only available to this app.
-->
<service
android:name=".RSSPullService"
android:exported="false"/>
...
<application/>

The attribute android:name specifies the class name of the
IntentService.

Notice that the
<service>
element doesn't contain an intent filter. The Activity that sends work
requests to the service uses an explicit Intent, so no filter is needed.
This also means that only components in the same app or other applications with the same user ID
can access the service.

Now that you have the basic IntentService class, you can send work requests
to it with Intent objects. The procedure for constructing these objects
and sending them to your IntentService is described in the next lesson.