Dil*_*egi 30 java android push-notification google-cloud-messaging android-studio
我正在尝试GCM在我的应用程序中工作(在我们的工作时间更改时或在我们有任何促销活动时通知用户),但Cannot resolve symbol 'GoogleCloudMessaging'在尝试使用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();
}
}
Run Code Online (Sandbox Code Playgroud)
Era*_*ran 35
以下部分将指导您完成设置GCM实施的过程.在开始之前,请务必设置Google Play服务SDK.您需要此SDK才能使用GoogleCloudMessaging方法.严格来说,您绝对需要此API的唯一方法是上游(设备到云)消息传递,但它也提供了建议的简化注册API.
你必须 :
<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/在Android项目中引用库项目.要安装Google Play服务SDK以进行开发:
Run Code Online (Sandbox Code Playgroud)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.
uni*_*ify 10
如果您使用的是Android Studio:
1)下载Google Play SDK(使用SDK Manager):

2)不要忘记单击"使用Gradle文件同步项目"按钮

这对我有用.
小智 6
如果您使用的是Android Studio,请确保build.gradle您拥有:
dependencies {
compile 'com.google.android.gms:play-services:7.8.0'
}
Run Code Online (Sandbox Code Playgroud)
然后跑build.
这对我有用.
| 归档时间: |
|
| 查看次数: |
42002 次 |
| 最近记录: |