Не удается разрешить символ "GCMBroadcastReceiver" в Android Studio

Я пытаюсь использовать API GoogleCloudMessaging (GCM) для push-уведомления в своем приложении для Android.

Ссылаясь на http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/ и http://developer.android.com/google/play-services/setup.html#Setup, я попытался установить их в AndroidManifest. xml, но это дало мне некоторую ошибку:

  • Невозможно разрешить символ "GCMBroadcastReceiver"
  • Невозможно разрешить символ "GCMIntentService"

Этот блок находится в теге приложения

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

Я использую Android Studio и то, что я сделал

  • установил Google Play Services в SDK Manager и синхронизирован с Gradle
  • включено compile 'com.google.android.gms:play-services:4.3.23' в build.gradle
  • включен <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> в AndroidManifest.xml

Не могли бы вы помочь мне указать, где я пропустил? Спасибо за любую помощь!

Ответ 1

com.google.android.gcm.GCMBroadcastReceiver - это устаревший класс, которого вы, вероятно, не имеете в своем проекте. Вы должны реализовать свой собственный широковещательный приемник. GCMIntentService - это класс, который вы должны реализовать.

Вы используете старый учебник, который использует устаревшие классы вместо использования библиотеки Google Play Services. Вы должны обратиться к текущему официальному демонстрационному приложению GCM, чтобы узнать, как должен выглядеть ваш манифест и какие классы должны быть в проекте.