Android:GCM推送通知实现,在onMessageReceived方法soemtimes中;从「;是空的
我使用谷歌提供的教程在android应用程序中实现了GCM。一切正常,但有时onMessageReceived方法的“from”参数为null。以下是我的GcmListenerServiceAndroid: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
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消息的更多信息,请参阅本文