I will get to where I applied these three in my projects:
1.Service: what you want to do in the background without any user interaction. For example, fetching location data continuously or constantly sending some data to your server. You can also use services to complete tasks every few time units. For example, sending 10 minute background updates.
2.AsyncTask: creating a new thread of execution. The best use I've encountered so far is calling a web service. I used the following: AsyncTask for web service calls 1. Display a progress bar in onPreExecute () 2. Turn my web service calls to doInBackground (Params ...) 3.In onPostExecute (Result) updates the user interface or performs some other actions with web service response.
3.BroadCastRecievers are like global receivers of your application. They can listen to both system events, such as a phone reboot, and a custom event in your application. I used them to start the service when restarting the phone, which stopped when we turned off the phone.
source share