Próbuję uzyskać GCM
pracę w mojej aplikacji (powiadamiać użytkowników, gdy zmieniają się nasze godziny, lub kiedy są jakieś promocje), ale nadal otrzymuję błąd Cannot resolve symbol 'GoogleCloudMessaging'
podczas próby użycia Google Cloud Messaging API.Nie można rozpoznać symbolu "GoogleCloudMessaging" GCM
Używam nowo wydanego IDE urządzenia Android do kodowania tego.
Oto mój kod 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();
}
}
Czy możesz znaleźć rozwiązanie? Mam do czynienia z tym samym problemem. – Geek
Spójrz na odpowiedź. Importowanie było rozwiązaniem, więc postępuj zgodnie z krokami Erana. – dillonr