2014-05-07 26 views
10

Sto tentando di utilizzare l'API di GoogleCloudMessaging (GCM) per la notifica push nella mia app per Android.Impossibile risolvere il simbolo "GCMBroadcastReceiver" in Android Studio

riferimento alla http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/ e http://developer.android.com/google/play-services/setup.html#Setup, ho cercato di metterli in AndroidManifest.xml ma mi ha dato un po 'di errore:

  • non può risolvere il simbolo 'GCMBroadcastReceiver'
  • Impossibile risolvere il simbolo 'GCMIntentService'

Questo blocco è in tag Application

<receiver 
     android:name="com.google.android.gcm.GCMBroadcastReceiver" 
     android:permission="com.google.android.c2dm.permission.SEND" > 
     <intent-filter> 

      <!-- Receives the actual messages. --> 
      <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
      <!-- Receives the registration id. --> 
      <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 

      <category android:name="com.zaqqle.disqover" /> 
     </intent-filter> 
    </receiver> 

    <service android:name=".GCMIntentService" /> 

Sto usando Android Studio e quello che ho fatto

  • installato Google Play Services in SDK Manager e sincronizzato con Gradle
  • inclusi compile 'com.google.android.gms:play-services:4.3.23' in build.gradle
  • inclusi <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> in AndroidManifest.xml

Potrebbe aiutarmi a indicare dove mi sono perso? Grazie per l'aiuto!

risposta

19

com.google.android.gcm.GCMBroadcastReceiver è una classe deprecata che probabilmente non si ha nel progetto. Dovresti implementare il tuo ricevitore broadcast. GCMIntentService è una classe che dovresti implementare.

Stai utilizzando un vecchio tutorial che utilizza classi obsolete anziché utilizzare la libreria di Google Play Services. Dovresti fare riferimento all'attuale official GCM demo app per vedere come dovrebbe apparire il tuo manifest e quali classi dovrebbero essere nel progetto.

+0

Grazie mille. Il tuo link alla demo ufficiale mi ha salvato la vita! – Boy

+0

Ha funzionato per me, grazie! –

+1

Ottimo, ha funzionato anche per me. Ho cercato su google per un po 'e alla fine ho visto il tuo "GCMIntentService è una classe che dovresti implementare" –

Problemi correlati