The IntentService provides the nice incoming Intent queue. It also runs the Intent in a thread, so even the initial check is now in a very low priority thread. The queuing prevents the incoming Intents from competing. This also simplifies the code since the lifecycle is more automatic now.