title: Can GcmTaskService run async tasks?
body: <p>I need to run a network task periodically on the background of an Android app. </p>
  
  <p>I was initially going to use the <code>AlarmManager</code> (can't use the <code>JobScheduler</code> cause it has to work on pre-lollipop devices), but then I came across the <code>GcmNetworkManager</code> which seems easier to use and provides an easier API, and it takes care of running the task if the device is connected to the internet (also no need to use broadcast receivers with it, so less classes to maintain).</p>
  
  <p>The problem I'm having is that the task I need to run is composed of 3 async steps, and the <code>GcmTaskService</code> seems to be created to run sync tasks.</p>
  
  <p>I have tested this, and found that my async tasks run just fine till the end inside the <code>GcmTaskService</code> (my service then stops itself), however I'm worried that this might be more a coincidence because my async tasks are very fast, rather than the fact that the service is not stopped inside the <code>GcmTaskService</code> code (I tried to look into the code, but it is obfuscated so it's pretty hard to understand what it does).</p>
  
  <p>Does anyone know if the <code>GcmTaskService</code> in fact runs until the extending class stops it or if it'll be stopped when the sync task ends?</p>