我注意到我的安卓应用程序有一个问题,它通过城市飞艇(通过C2DM)接收推送通知。
该应用程序在首次安装时会注册到with。当用户启动应用程序时,他们会被要求提供应用程序接口系统的用户ID和密码。身份验证成功后,此用户ID将被指定为该实例的this别名。
当用户清除应用程序的应用程序数据时,会出现问题。下一次应用程序启动时,它会重新注册到with,但会收到不同的APID。用户再次输入他们的凭据,现在我有两个不同的APID,具有相同的别名,引用相同的设备。每当我发送广播消息或针对该别名的消息时,应用程序都会收到两次消息。很明显,我不希望这样的事情发生。
同时,用户完全有可能将应用程序安装在两个不同的设备上(例如,手机和平板电脑),在这种情况下,我会将相同的别名分配给两个不同的APID,这是可以接受的。我的问题是当两个APID引用同一设备时。
我在想怎么才能防止这种情况发生。我希望当用户选择清除应用程序数据时,可能会有某种意图被触发,但这样的意图似乎并不存在。
还有没有人遇到过这个问题,你能想出一个解决方案吗?
发布于 2013-03-18 21:18:05
似乎城市航空已经修复了他们的end.Now的问题如果多个设备i注册在同一个别名下,他们只是发送消息到最后注册的one.Although它解决了你的问题,但创造了另一种新的问题,如果一些用户有两个设备i注册在某个别名下,最后一个获得推送notification.But由于多个注册在一个设备上获得多个通知是更突出和糟糕的用例,因此我猜他们一定考虑过这种权衡。
https://stackoverflow.com/questions/12748822
复制相似问题