Run at boot time and START_STICKYhave nothing to do with each other - START_STICKYthis is a flag that determines what should happen if your service was killed by Android.
IntentServicedesigned to handle incoming intent (through handleIntent) and stops immediately. As shown in the IntentService source , it already processes accordingly onStartCommand.
While you request
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
and you have the right intent filter on IntentService:
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
</intent-filter>
Then your service will be called at boot.
( - SD- )