获取Android GCM推送通知的错误消息

时间:2013-09-21 15:24:33

标签: android google-cloud-messaging

我使用相同的代码库构建了相同应用程序的3个版本,但使用了不同的包名称和布局。

我的应用程序的一个功能是它接收推送通知消息。

现在,我已经在我的设备上安装了所有3个应用程序。因此,当推送通知到来时,我发现它调用所有3个应用程序的GCMIntentService onMessage()方法???为什么会这样?我很困惑。因为我为我的应用程序使用了不同的包名称。

因此,我收到来自服务器的单个通知的3个通知。

请帮忙!

谢谢!

编辑:我已经确认了每个应用程序在调用onMessage时收到的intent参数中的类别。它似乎正在接收正确的类别。这可能是服务器端的问题吗?

1 个答案:

答案 0 :(得分:0)

您的3个应用程序中的每个应用程序都单独注册到GCM,并且应该会收到不同的注册ID,即使所有这三个应用程序都使用相同的发件人ID。

因此,从服务器发送的单个消息应该只教一个应用程序。我假设发生的是您对所有3个应用程序使用了相同的清单定义。我指的是GCM权限和广播接收器的意图服务。在较旧的Android版本上,这会阻止GCM工作,但您可能正在使用Android 4.x设备,其中由于某种原因未强制执行这些权限。

要解决此问题,请在每个应用清单中使用正确的包名称。