title: GcmListenerService.onMessageReceived() not called
body: <p>I'm currently working on implementing GCM notifications into my app. </p>
  
  <p>The problem that I'm having is that the <code>onMessageReceived()</code> method from my <code>GcmListenerService</code> implementation isn't called. I receive the data from the GCM servers fine, since it automatically generates a notification (I wish to replace this with my own notification using the <code>onMessageReceived()</code> method) but after that none of my log calls are printed in the log.</p>
  
  <p><strong>JSON that is sent from server to GCM server</strong></p>
  
  <pre><code>{
      "notification" : {
          "title" : "Title",
          "text" : "Message",
          "icon" : "@drawable\/ic_notification",
          "click_action" : "OPEN_MAIN_ACTIVITY"
      },
      "registration_ids":[
          "xxxx", "xxxx", "xxxx", "etc"
      ]
  }
  </code></pre>
  
  <p><strong>AndroidManifest.xml (GCM part only)</strong></p>
  
  <pre><code>&lt;!-- GCM START --&gt;
      &lt;receiver
          android:name="com.google.android.gms.gcm.GcmReceiver"
          android:exported="true"
          android:permission="com.google.android.c2dm.permission.SEND" &gt;
          &lt;intent-filter&gt;
              &lt;action android:name="com.google.android.c2dm.intent.RECEIVE" /&gt;
              &lt;category android:name="com.my.package" /&gt;
          &lt;/intent-filter&gt;
      &lt;/receiver&gt;
  
      &lt;service
          android:name=".Services.ListenerService"
          android:exported="false" &gt;
          &lt;intent-filter&gt;
              &lt;action android:name="com.google.android.c2dm.intent.RECEIVE" /&gt;
          &lt;/intent-filter&gt;
      &lt;/service&gt;
  
      &lt;service
          android:name=".Services.IDListenerService"
          android:exported="false"&gt;
          &lt;intent-filter&gt;
              &lt;action android:name="com.google.android.gms.iid.InstanceID"/&gt;
          &lt;/intent-filter&gt;
      &lt;/service&gt;
      &lt;!-- GCM END --&gt;
  </code></pre>
  
  <p><strong>GcmListenerService (just a quick print to see if its called at all)</strong></p>
  
  <pre><code>public class ListenerService extends GcmListenerService {
  
      private static final String TAG = "MyGcmListenerService";
  
      @Override
      public void onMessageReceived(String from, Bundle data) {
          String message = data.getString("title");
          Log.d(TAG, "From: " + from);
          Log.d(TAG, "Message: " + message);
      }
  }
  </code></pre>
  
  <p>Not sure if the method to request tokens is relevant, but I can post it if needed.</p>
  
  <p>If any part of the question is unclear, let me know, I'm not the best at explaining.</p>