Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当设备连接到internet时,我可以';无法获取旧消息-GCM_Android_Google Cloud Messaging - Fatal编程技术网

Android 当设备连接到internet时,我可以';无法获取旧消息-GCM

Android 当设备连接到internet时,我可以';无法获取旧消息-GCM,android,google-cloud-messaging,Android,Google Cloud Messaging,虽然我的设备没有internet连接,但我正在使用GCM从服务器向应用程序发送消息。之后,当设备连接到互联网时,我无法收到消息。这正常吗 从 “如果设备未连接到GCM,消息将被存储,直到建立连接为止(同样遵守折叠键规则)。” 我的消息有相同的折叠键;但当设备连接时,我仍然只能收到一条消息。您可以将所有消息发送到您的设备 GCM服务器记录发送到设备的所有消息。当设备连接到Internet时,它会在通知区域显示这些信息。 您只收到一条消息,因为您正在代码的notify()函数中分配相同的通知ID 您

虽然我的设备没有internet连接,但我正在使用GCM从服务器向应用程序发送消息。之后,当设备连接到互联网时,我无法收到消息。这正常吗

“如果设备未连接到GCM,消息将被存储,直到建立连接为止(同样遵守折叠键规则)。”


我的消息有相同的折叠键;但当设备连接时,我仍然只能收到一条消息。

您可以将所有消息发送到您的设备

GCM服务器记录发送到设备的所有消息。当设备连接到Internet时,它会在通知区域显示这些信息。

您只收到一条消息,因为您正在代码的notify()函数中分配相同的通知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值溢出。根据您的要求,您可以忽略它

我已经测试过这个场景。现在轮到你了。

很乐意帮忙

您可以将所有消息发送到您的设备

GCM服务器记录发送到设备的所有消息。当设备连接到Internet时,它会在通知区域显示这些信息。

您只收到一条消息,因为您正在代码的notify()函数中分配相同的通知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值溢出。根据您的要求,您可以忽略它

我已经测试过这个场景。现在轮到你了。

很乐意帮忙

相同的折叠密钥意味着您将只收到一封邮件:
如果已经有一封邮件存储了相同的折叠密钥(和注册ID)并等待传递,则旧邮件将被丢弃,新邮件将取代它(即,旧邮件将被新邮件折叠)
@Selvin我无法收到此消息,在未连接的情况下,我只从服务器向应用程序发送了一条消息。我的朋友,这是google告诉我的,我还没有将任何c2dm迁移到GCM,所以对此不太确定——请检查网络连接恢复后google play是否登录在同一个崩溃键中,这意味着您将只收到一条消息:
,如果已经有一条带有存储并等待传递的同一折叠密钥(和注册ID),旧邮件将被丢弃,新邮件将取代它(即,旧邮件将被新邮件折叠)
@Selvin我无法获取此邮件,我已经只从服务器向应用程序发送了一条未连接的消息。sry friend,这是google告诉我的,我还没有将任何c2dm迁移到GCM,所以对此不太确定——请检查网络连接恢复时google play是否已登录我知道为什么会有此限制“1073741824”,这仅仅是因为整数限制或其背后的任何特定原因。如果您正在处理大量消息,则这只是整数限制。您可以根据您的应用程序上下文删除此限制。我想知道为什么此限制为“1073741824”,这仅仅是因为整数限制或其背后的任何特定原因。如果您的邮件量已用完,则此限制仅为整数限制。您可以根据应用程序上下文删除此项。