title: Broadcast Receiver and services
body: <p>I'm working on an App where it will be receiving a lot of messages through GCM. </p>
  
  <p>I created Broadcast Receiver that callas an intent like so </p>
  
  <pre><code>public class GcmBroadcastReceiver extends WakefulBroadcastReceiver {
  
              public void onReceive(Context context, Intent intent) {
                  ComponentName comp = new ComponentName(context.getPackageName(), MyIntentService.class.getName());
                  startWakefulService(context, (intent.setComponent(comp)));
                  setResultCode(Activity.RESULT_OK);
              }
  }
  </code></pre>
  
  <p>then MyIntentService will call a handler to save the message in the DB. </p>
  
  <p>Everything is working fine, my question is this,  it ok to do what is shown above? I'm 2 months old in Android but the above looks like it will create a service every time there is a new message, for example if 20 GCM messages received at the same time then it means 20 services will start working.
  Is my interpretation correct? if yes what should I do?</p>