title: google cloud messaging not working in android 4.4
body: <p>I have an andorid application that uses GCM (not the new google cloud messaging API)</p>
  
  <p>the notification is working without any problems in all android vesion except 4.4 (nexus 5)</p>
  
  <pre><code>&lt;receiver android:name="com.google.android.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND"&gt; 
          &lt;!-- Receive the actual message --&gt;  
          &lt;intent-filter&gt; 
              &lt;action android:name="com.google.android.c2dm.intent.RECEIVE"/&gt;  
              &lt;category android:name="com.PushNotifications"/&gt; 
          &lt;/intent-filter&gt;  
          &lt;!-- Receive the registration id --&gt;  
          &lt;intent-filter&gt; 
              &lt;action android:name="com.google.android.c2dm.intent.REGISTRATION"/&gt;  
              &lt;category android:name="com.PushNotifications"/&gt; 
          &lt;/intent-filter&gt; 
      &lt;/receiver&gt; 
  </code></pre>
  
  <p>in android 4.4. GCMBroadcastReciver is not receiving the com.google.android.c2dm.intent.RECEIVE intent, only the com.google.android.c2dm.intent.REGISTRATION</p>
  
  <p>I know that the old GCM is deprecated but I don't want use yet the Google Play Services and the new API, instead I want to understand why it's not working in 4.4</p>
  
  <p>Thanks</p>
  
  <p>full Android Manifest</p>
  
  <pre><code>&lt;manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.PushNotifications" android:versionCode="1" android:versionName="1.0"&gt;  
  &lt;uses-sdk android:minSdkVersion="9" android:targetSdkVersion="19"/&gt;  
  &lt;supports-screens android:smallScreens="false" android:normalScreens="true" android:largeScreens="false"/&gt;  
  &lt;uses-permission android:name="android.permission.INTERNET"/&gt;  
  &lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/&gt;  
  &lt;uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/&gt;  
  &lt;!-- Push permissions --&gt;  
  &lt;permission android:name="com.PushNotifications.permission.C2D_MESSAGE" android:protectionLevel="signature"/&gt;  
  &lt;uses-permission android:name="com.PushNotifications.permission.C2D_MESSAGE"/&gt;  
  &lt;uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/&gt;  
  &lt;uses-permission android:name="android.permission.WAKE_LOCK"/&gt;  
  &lt;uses-permission android:name="android.permission.GET_ACCOUNTS"/&gt;  
  &lt;uses-permission android:name="android.permission.USE_CREDENTIALS"/&gt;  
  &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/&gt;  
  &lt;application android:label="@string/app_name" android:debuggable="true" android:icon="@drawable/icon"&gt; 
      &lt;activity android:name=".PushNotifications" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden|screenSize" android:launchMode="singleTask"&gt; 
          &lt;intent-filter&gt; 
              &lt;action android:name="android.intent.action.MAIN"/&gt;  
              &lt;category android:name="android.intent.category.LAUNCHER"/&gt; 
          &lt;/intent-filter&gt;  
          &lt;intent-filter&gt; 
              &lt;action android:name="com.PushNotifications.PushNotifications.NOTIFICATION"/&gt;  
              &lt;category android:name="android.intent.category.DEFAULT"/&gt; 
          &lt;/intent-filter&gt; 
      &lt;/activity&gt;  
      &lt;!-- Preference Activity  --&gt;  
      &lt;activity android:name="com.sample.common.WLPreferences" android:label="Sample"&gt;&lt;/activity&gt;  
      &lt;!-- Push service  --&gt;  
      &lt;!-- In order to use the c2dm library, an application must declare a class with the name C2DMReceiver, in its own package, extending com.google.android.c2dm.C2DMBaseReceiver 
          It must also include this section in the manifest, replacing "com.google.android.apps.chrometophone" with its package name. --&gt;  
      &lt;service android:name=".GCMIntentService"/&gt;  
      &lt;service android:name=".ForegroundService"/&gt;  
      &lt;!-- Only google service can send data messages for the app. If permission is not set - any other app can generate it --&gt;  
      &lt;receiver android:name="com.google.android.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND"&gt; 
          &lt;!-- Receive the actual message --&gt;  
          &lt;intent-filter&gt; 
              &lt;action android:name="com.google.android.c2dm.intent.RECEIVE"/&gt;  
              &lt;category android:name="com.PushNotifications"/&gt; 
          &lt;/intent-filter&gt;  
          &lt;!-- Receive the registration id --&gt;  
          &lt;intent-filter&gt; 
              &lt;action android:name="com.google.android.c2dm.intent.REGISTRATION"/&gt;  
              &lt;category android:name="com.PushNotifications"/&gt; 
          &lt;/intent-filter&gt; 
      &lt;/receiver&gt; 
  &lt;/application&gt; 
  </code></pre>
  
  <p></p>