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