Intereting Posts
Невозможно создать обработчик внутри потока, который не вызвал Looper.prepare () NetworkInterface.getNetworkInterfaces () генерирует исключение с нулевой строкой сообщения Android PdfDocument поврежден при сохранении во внешнем хранилище Проблемы с использованием библиотеки Smart Location Как получить все имена таблиц в базе данных android sqlite? Android ProgressBar не обновляется onProgress Локализация файла расширения APK? Как создать файл в каталоге SDCARD Перезагрузка Webview по изменению ориентации в сотах Перемещение в инструменты построения 1.3.0 нарушило нашу сборку с включенной proguard Как использовать тему Holo.Light и вернуться к «Свету» на устройствах с предварительной сотой? Вопросы безопасности и дизайна для биллинга в приложении Регистрация проводки HttpURLConnection в Android Кордова Android – ОШИБКА, создающая одну из платформ: Код ошибки 1 для команды: Получение имени пользователя и пароля в SQLITE DB по EMAIL_ADDRESS в ANDROID

Не удается разрешить символ «GoogleCloudMessaging» GCM

Я пытаюсь заставить GCM работать в моем приложении (чтобы уведомить пользователей, когда наши часы меняются или когда у нас есть какие-либо промо Cannot resolve symbol 'GoogleCloudMessaging' ), но я продолжаю получать ошибку. Cannot resolve symbol 'GoogleCloudMessaging' при попытке использовать API Google Cloud Messaging API ,

Я использую недавно выпущенную Android-студию IDE для ее кодирования.

Вот мой код GcmBroadcastReciever.java:

 import android.R; import android.app.Activity; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast; public class GcmBroadcastReceiver extends BroadcastReceiver { static final String TAG = "GCMDemo"; public static final int NOTIFICATION_ID = 1; private NotificationManager mNotificationManager; Context ctx; GoogleCloudMessaging gcm; // I get the error here @Override public void onReceive(Context context, Intent intent) { GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(context); //error ctx = context; String messageType = gcm.getMessageType(intent); //cannot resolve method here if (GoogleCloudMessaging.MESSAGE_TYPE_SEND_ERROR.equals(messageType)) { //error sendNotification("Send error: " + intent.getExtras().toString()); } else if (GoogleCloudMessaging.MESSAGE_TYPE_DELETED.equals(messageType)) { //error sendNotification("Deleted messages on server: " + intent.getExtras().toString()); } else { sendNotification("Received: " + intent.getExtras().toString()); } setResultCode(Activity.RESULT_OK); } // Put the GCM message into a notification and post it. private void sendNotification(String msg) { mNotificationManager = (NotificationManager) ctx.getSystemService(Context.NOTIFICATION_SERVICE); PendingIntent contentIntent = PendingIntent.getActivity(ctx, 0, new Intent(ctx, Activity.class), 0); Toast.makeText(ctx, msg, Toast.LENGTH_SHORT).show(); } } 

В следующих разделах описывается процесс создания GCM-реализации. Прежде чем начать, обязательно настройте SDK Служб Google Play. Этот SDK вам нужен, чтобы использовать методы GoogleCloudMessaging . Строго говоря, единственное, что вам абсолютно необходимо для этого API, это передача сообщений с верхнего уровня (от устройства к облаку), но он также предлагает оптимизированный API регистрации.

Вы настроили SDK сервисов Google Play ?

Вы должны :

  1. Установка SDK сервисов Google Play
  2. Опишите проект <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ library в своем проекте Android.

Чтобы установить SDK для сервисов Google Play для разработки:

  1. Launch the SDK Manager. - From Eclipse (with ADT), select Window > Android SDK Manager. - On Windows, double-click the SDK Manager.exe file at the root of the Android SDK directory. - On Mac or Linux, open a terminal and navigate to the tools/ directory in the Android SDK, then execute android sdk. 2. Install the Google Play services SDK. Scroll to the bottom of the package list, expand Extras, select Google Play services, and install it. The Google Play services SDK is saved in your Android SDK environment at <android-sdk>/extras/google/google_play_services/. 3. Install a compatible version of the Google APIs platform. If you want to test your app on the emulator, expand the directory for Android 4.2.2 (API 17) or a higher version, select Google APIs, and install it. Then create a new AVD with Google APIs as the platform target. Note: Only Android 4.2.2 and higher versions of the Google APIs platform include Google Play services. 

Если вы используете Android Studio:

1) Загрузили SDK Google Play (с помощью диспетчера SDK):

Менеджер SDK

2) Не забудьте нажать кнопку «Synch Project with Gradle Files»

Синхронный проект с файлами Gradle

Это помогло мне.

Если вы находитесь в Android Studio, убедитесь, что в вашем build.gradle вас есть:

 dependencies { compile 'com.google.android.gms:play-services:7.8.0' } 

А затем запустить build .

Это сработало для меня.

Убедитесь, что вы добавили зависимости в build.gradle> Sync> Build – Clean Project.

Работал для меня 🙂

Попробуйте очистить свой проект. Работал для меня.

Вероятно, вы используете старый учебник, но GCMRegistrar – устаревший класс API.

Вместо этого используйте API GoogleCloudMessaging .

Проверьте это для полного уведомления о толковании учебника, используя gcm