Android:GCM推送通知实现,在onMessageReceived方法soemtimes中;从「;是空的

Android:GCM推送通知实现,在onMessageReceived方法soemtimes中;从「;是空的,android,google-cloud-messaging,Android,Google Cloud Messaging,我使用谷歌提供的教程在android应用程序中实现了GCM。一切正常,但有时onMessageReceived方法的“from”参数为null。以下是我的GcmListenerService enter code herepublic class MsgLstnrSvc extends GcmListenerService { @Override public void onMessageReceived(String from, Bundle data) { String messa

我使用谷歌提供的教程在android应用程序中实现了GCM。一切正常,但有时onMessageReceived方法的“from”参数为null。以下是我的GcmListenerService

enter code herepublic class MsgLstnrSvc extends GcmListenerService {
@Override
public void onMessageReceived(String from, Bundle data) {

    String message = data.getString("message");
    if (from.startsWith("/topics/")) {
        // message received from some topic.
    } else {
        // normal downstream message.
    }
}

    private String LOG_AREA = "MsgLstnrSvc";
}

我可以知道这是什么原因吗?在此之前,我从未做过GCM集成。提前感谢

如果您使用的是从服务器发送的
,请仔细检查该键与应用程序中的键是否相同

例如:

服务器

{
"to": "/topics/foo-bar",
"data": {
"message": "This is a GCM Topic Message!",
}
}
客户

@Override
public void onMessageReceived(String from, Bundle data) {
String message = data.getString("message");
Log.d(TAG, "From: " + from);
Log.d(TAG, "Message: " + message);

if (from.startsWith("/topics/")) {
// message received from some topic.
} else {
// normal downstream message.
}

// ...
}
有关如何为服务器和客户端应用程序实现GCM消息的更多信息,请参阅本文