title: Push Notification Error using Parse
body: <p>Trying to add Push notifications with Parse.  Debugging is telling me to add missing declarations in the manifest which are already there.  Am I placing my code incorrectly in the manifest? (First app using android SDK) Ive followed Parse example code as close as possible, triple checked the tutorial and now about out of ideas</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.megger.cablecalcplustwo"
      android:versionCode="1"
      android:versionName="1.0" &gt;
  
      &lt;uses-sdk android:minSdkVersion="14" android:targetSdkVersion="17" /&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.WRITE_CONTACTS" /&gt;
      &lt;uses-permission android:name="android.permission.WAKE_LOCK" /&gt;
      &lt;uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /&gt;
      &lt;uses-permission android:name="android.permission.VIBRATE" /&gt;
      &lt;uses-permission android:name="android.permission.GET_ACCOUNTS" /&gt;
      &lt;uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /&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.RECEIVE_BOOT_COMPLETED" /&gt;
      &lt;uses-permission android:name="android.permission.VIBRATE" /&gt;
      &lt;uses-permission android:name="android.permission.WAKE_LOCK" /&gt;
  
      &lt;!--
        IMPORTANT: Change "com.parse.tutorials.pushnotifications.permission.C2D_MESSAGE" in the lines below
        to match your app's package name + ".permission.C2D_MESSAGE".
      --&gt;
      &lt;permission android:protectionLevel="signature"
          android:name="com.megger.cablecalcplustwo.pushnotifications.permission.C2D_MESSAGE" /&gt;
      &lt;uses-permission android:name="com.megger.cablecalcplustwo.pushnotifications.permission.C2D_MESSAGE" /&gt;
  
  
  
      &lt;application
  
  
  
          android:icon="@drawable/ic_launcher"
          android:label="@string/app_name" 
          android:theme="@android:style/Theme.Black.NoTitleBar"&gt;
          &lt;activity
              android:name="com.megger.cablecalcplustwo.CableCalcActivity"
              android:label="@string/app_name" &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;/activity&gt;
  
          &lt;activity android:name="com.megger.cablecalcplustwo.CcActivity" android:label="@string/app_name" /&gt;
          &lt;activity android:name="com.megger.cablecalcplustwo.CalculatorActivity" android:label="@string/app_name" /&gt;
          &lt;activity android:name="com.megger.cablecalcplustwo.GuideActivity" android:label="@string/app_name" /&gt;
          &lt;activity android:name="com.megger.cablecalcplustwo.CablesActivity" android:label="@string/app_name" android:theme="@style/AlphaActivity"/&gt;
          &lt;activity android:name="com.megger.cablecalcplustwo.ContactActivity" android:label="@string/app_name" /&gt;
          &lt;activity android:name="com.megger.cablecalcplustwo.GuideMultifunctionActivity" android:label="@string/app_name" /&gt;
          &lt;activity android:name="com.megger.cablecalcplustwo.GuidePatActivity" android:label="@string/app_name" /&gt;
          &lt;activity android:name="com.megger.cablecalcplustwo.GuideLoopActivity" android:label="@string/app_name" /&gt;
          &lt;activity android:name="com.megger.cablecalcplustwo.GuideInsulationActivity" android:label="@string/app_name" /&gt;
          &lt;activity android:name="com.megger.cablecalcplustwo.GuideElectriciansActivity" android:label="@string/app_name" /&gt;
          &lt;activity android:name="com.megger.cablecalcplustwo.GuideClampActivity" android:label="@string/app_name" /&gt;
          &lt;activity android:name="com.megger.cablecalcplustwo.GuidePageActivity" android:label="@string/app_name" /&gt;
          &lt;activity android:name="com.megger.cablecalcplustwo.WebViewActivity" android:label="@string/app_name" /&gt;
          &lt;activity android:name="com.megger.cablecalcplustwo.AboutActivity" android:label="@string/app_name" /&gt;
          &lt;activity android:name="com.megger.cablecalcplustwo.VideoViewActivity" android:label="@string/app_name" android:configChanges="orientation" /&gt;
          &lt;activity android:name="com.megger.cablecalcplustwo.VideoActivity" android:label="@string/app_name" /&gt;
          &lt;activity android:name="com.megger.cablecalcplustwo.CompetitionsAndEvents" android:label="@string/app_name" /&gt;
  
          &lt;service android:name="com.parse.PushService" /&gt;
          &lt;receiver android:name="com.parse.ParseBroadcastReceiver"&gt;
  
              &lt;intent-filter&gt;
  
  
                  &lt;action android:name="android.intent.action.BOOT_COMPLETED" /&gt;
                  &lt;action android:name="android.intent.action.USER_PRESENT" /&gt;
  
              &lt;/intent-filter&gt;
          &lt;/receiver&gt;
          &lt;receiver android:name="com.parse.GcmBroadcastReceiver"
              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;action android:name="com.google.android.c2dm.intent.REGISTRATION" /&gt;
  
                  &lt;!--
                    IMPORTANT: Change "com.parse.tutorials.pushnotifications" to match your app's package name.
                  --&gt;
                  &lt;category android:name="com.megger.cablecalcplustwo.pushnotifications" /&gt;
              &lt;/intent-filter&gt;
          &lt;/receiver&gt;
  
  
  
  
          &lt;compatible-screens&gt;
  
              &lt;screen android:screenSize="small" android:screenDensity="ldpi" /&gt;
              &lt;screen android:screenSize="small" android:screenDensity="mdpi" /&gt;
              &lt;screen android:screenSize="small" android:screenDensity="hdpi" /&gt;
              &lt;screen android:screenSize="small" android:screenDensity="xhdpi" /&gt;
  
              &lt;screen android:screenSize="normal" android:screenDensity="ldpi" /&gt;
              &lt;screen android:screenSize="normal" android:screenDensity="mdpi" /&gt;
              &lt;screen android:screenSize="normal" android:screenDensity="hdpi" /&gt;
              &lt;screen android:screenSize="normal" android:screenDensity="xhdpi" /&gt;
  
              &lt;screen android:screenSize="large" android:screenDensity="ldpi" /&gt;
              &lt;screen android:screenSize="large" android:screenDensity="mdpi" /&gt;
              &lt;screen android:screenSize="large" android:screenDensity="hdpi" /&gt;
              &lt;screen android:screenSize="large" android:screenDensity="xhdpi" /&gt;
  
              &lt;screen android:screenSize="xlarge" android:screenDensity="ldpi" /&gt;
              &lt;screen android:screenSize="xlarge" android:screenDensity="mdpi" /&gt;
              &lt;screen android:screenSize="xlarge" android:screenDensity="hdpi" /&gt;
              &lt;screen android:screenSize="xlarge" android:screenDensity="xhdpi" /&gt;
  
  
  
          &lt;/compatible-screens&gt;
  
  
      &lt;/application&gt;
  &lt;/manifest&gt;
  </code></pre>
  
  <p>Logcat</p>
  
  <pre><code>05-14 18:04:52.415  29036-29055/com.megger.cablecalcplustwo E/com.parse.PushService﹕ Tried to use push, but this app is not configured for push due to: Push is not configured for this app because the app manifest is missing required declarations. Please add the following declarations to your app manifest to support either GCM or PPNS for push (or both). To enable GCM support, please make sure that these permissions are declared as children of the root &lt;manifest&gt; element:
      &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.VIBRATE" /&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="com.google.android.c2dm.permission.RECEIVE" /&gt;
      &lt;permission android:name="com.megger.cablecalcplustwo.permission.C2D_MESSAGE" android:protectionLevel="signature" /&gt;
      &lt;uses-permission android:name="com.megger.cablecalcplustwo.permission.C2D_MESSAGE" /&gt;
      Also, please make sure that these services and broadcast receivers are declared as children of the &lt;application&gt; element:
      &lt;service android:name="com.parse.PushService" /&gt;
      &lt;receiver android:name="com.parse.GcmBroadcastReceiver" 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;action android:name="com.google.android.c2dm.intent.REGISTRATION" /&gt;
      &lt;category android:name="com.megger.cablecalcplustwo" /&gt;
      &lt;/intent-filter&gt;
      &lt;/receiver&gt;
      To enable PPNS support, please make sure that these permissions are declared as children of the root &lt;manifest&gt; element:
      &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.RECEIVE_BOOT_COMPLETED" /&gt;
      &lt;uses-permission android:name="android.permission.VIBRATE" /&gt;
      &lt;uses-permission android:name="android.permission.WAKE_LOCK" /&gt;
      Also, please make sure that these services and broadcast receivers are declared as children of the &lt;application&gt; element:
      &lt;service android:name="com.parse.PushService" /&gt;
      &lt;receiver android:name="com.parse.ParseBroadcastReceiver"&gt;
      &lt;intent-filter&gt;
      &lt;action android:name="android.intent.action.BOOT_COMPLETED" /&gt;
      &lt;action android:name="android.intent.action.USER_PRESENT" /&gt;
      &lt;/intent-filter&gt;
      &lt;/receiver&gt;
  </code></pre>