虽然我的设备没有互联网连接,但我正在使用 GCM 从服务器向应用程序发送消息。之后,当设备连接互联网时,我无法收到消息。正常吗?
来自http://developer.android.com/guide/google/gcm/adv.html
"如果设备未连接到 GCM,则消息将被存储,直到建立连接(再次尊重折叠密钥规则)。 "
我的消息具有相同的折叠键;但是当设备连接时,我仍然只需要收到 1 条消息。
虽然我的设备没有互联网连接,但我正在使用 GCM 从服务器向应用程序发送消息。之后,当设备连接互联网时,我无法收到消息。正常吗?
来自http://developer.android.com/guide/google/gcm/adv.html
"如果设备未连接到 GCM,则消息将被存储,直到建立连接(再次尊重折叠密钥规则)。 "
我的消息具有相同的折叠键;但是当设备连接时,我仍然只需要收到 1 条消息。
您可以将所有消息发送到您的设备。
GCM 服务器记录您发送到设备的所有消息。每当设备连接到 Internet 时,它就会在通知区域显示这些内容。
您只收到一条消息,因为您在代码的notify()函数中分配了相同的NOTIFICATION ID
你的代码可能使用这个:
// 0 is notification id
notificationManager.notify(0, notification);
每次更改您的通知 ID以获取通知区域中的所有消息。
如 :
static int NOTIFICATION_ID = 0;
if (NOTIFICATION_ID > 1073741824) {
NOTIFICATION_ID = 0;
}
notificationManager.notify(NOTIFICATION_ID++, notification);
if 子句使您免受 int 值溢出的影响。您可以根据您的要求忽略它。
我已经测试过这个场景。现在轮到你了。
很高兴能帮助你 !!