2014-05-07 6 views
10

Ich versuche, GoogleCloudMessaging (GCM) API für Push-Benachrichtigungen in meiner Android App zu verwenden.Kann das Symbol "GCMBroadcastReceiver" in Android Studio nicht auflösen

Mit Bezug auf http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/ und http://developer.android.com/google/play-services/setup.html#Setup, habe ich versucht, sie in AndroidManifest.xml einzurichten, aber es gab mir einige Fehler:

  • kann nicht aufgelöst Symbol 'GCMBroadcastReceiver'
  • kann nicht aufgelöst Symbol 'GCMIntentService'

Dieser Block ist in Application-Tag

<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" /> 

I Android Studio verwende und was ich getan habe

  • Google mit Gradle
  • enthalten compile 'com.google.android.gms:play-services:4.3.23' in build.gradle
  • enthalten <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> in AndroidManifest.xml
Play-Dienste in SDK-Manager und synchronisiert installiert

Können Sie mir helfen, aufzuzeigen, wo ich verpasst habe? Danke für jede Hilfe!

Antwort

19

com.google.android.gcm.GCMBroadcastReceiver ist eine veraltete Klasse, die Sie wahrscheinlich nicht in Ihrem Projekt haben. Sie sollten Ihren eigenen Rundfunkempfänger implementieren. GCMIntentService ist eine Klasse, die Sie implementieren sollen.

Sie verwenden ein altes Lernprogramm, das veraltete Klassen anstelle der Google Play Services-Bibliothek verwendet. Sie sollten auf die aktuelle official GCM demo app verweisen, um zu sehen, wie Ihr Manifest aussehen sollte und welche Klassen im Projekt enthalten sein sollten.

+0

Vielen Dank. Ihr Link zur offiziellen Demo hat mein Leben gerettet! – Boy

+0

Arbeitete für mich, danke! –

+1

Großartig, hat auch für mich funktioniert. Ich habe eine Weile gegoogelt und schließlich sah ich, dass Ihr "GCMIntentService eine Klasse ist, die Sie implementieren sollen" –