gpt4 book ai didi

java - 无法解析符号 'GoogleCloudMessaging' GCM

转载 作者:IT老高 更新时间:2023-10-28 21:05:23 25 4
gpt4 key购买 nike

我正在尝试让 GCM 在我的应用程序中运行(以在我们的营业时间更改或我们有任何促销 Activity 时通知用户),但我不断收到错误 无法解决尝试使用 Google Cloud Messaging API 时的符号“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();
}
}

最佳答案

The sections below guide you through the process of setting up a GCM implementation. Before you start, make sure to set up the Google Play Services SDK. You need this SDK to use the GoogleCloudMessaging methods. Strictly speaking, the only thing you absolutely need this API for is upstream (device-to-cloud) messaging, but it also offers a streamlined registration API that is recommended.

你有没有set up the Google Play Services SDK ?

你必须:

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

To install the Google Play services SDK for development:

 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.

关于java - 无法解析符号 'GoogleCloudMessaging' GCM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16619450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com