Guaranteeing intent delivery (and redelivery) to your service
For my latest project I need to process some data and send it to a remote server. This was a perfect use case for an IntentService. I can just bundle my data as an extra, and start my service.
My biggest issue with an IntentService is that if it fails to start, I have essentially no way of knowing it failed. So I wanted a way to guarantee (or at least a best effort) that my intent starts up and processes my data.