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.

Lately I have been reading blog posts on how dynamic Android dependency versions do more harm than good. While it is true that having deterministic builds are extremely important, that does not mean you should throw away all dynamic versioning.