无法parsing符号“GoogleCloudMessaging”GCM

我试图让GCM在我的应用程序中工作(当我们的工作时间发生变化时,或者我们有任何促销信息时,通知用户),但是在尝试使用Google Cloud Messaging API时,我仍然收到错误Cannot resolve symbol 'GoogleCloudMessaging'

我正在使用新发布的Android Studio 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(); } } 

Solutions Collecting From Web of "无法parsing符号“GoogleCloudMessaging”GCM"

以下各节将指导您完成设置GCM实施的过程。 在开始之前,请确保设置Google Play服务SDK。 您需要此SDK才能使用GoogleCloudMessaging方法 。 严格来说,绝对需要这个API的唯一的东西是上游(设备到云)消息传递,但是它也提供了一个简化的注册API。

您是否设置了Google Play服务SDK ?

你必须 :

  1. 安装Google Play服务SDK
  2. <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/引用<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ library项目。

要安装Google Play服务SDK进行开发:

  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)下载了Google Play SDK(使用SDKpipe理器):

SDK管理器

2)不要忘了点击“与Gradle文件同步项目”button

与Gradle文件同步项目

这对我来说是诀窍。

如果您在Android Studio中,请确保在您的build.gradle有:

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

然后运行生成。

这对我有效。

确保在build.gradle> Sync> Build – Clean Project中添加了依赖项。

为我工作:)

尝试清理你的项目。 为我工作。

您可能正在使用旧的教程,但GCMRegistrar是一个弃用的API类。

请改用GoogleCloudMessaging API。

使用gcm检查完成教程推送通知