0

在经历了几次断断续续之后,我已经让 Android C2DM 在模拟器中工作了。应用程序第一次启动时,它使用来自chrometophone 项目的代码注册到 C2DM 服务。保存在首registrationId选项中,并在后续启动时使用。

只要模拟器继续运行,这似乎就可以很好地启动。但是,如果我杀死模拟器并重新启动它,那么应用程序需要重新注册才能再次开始接收 C2DM 消息。这是已知/预期的行为吗?

4

1 回答 1

0

是的,这是已知/预期的行为。启用 C2DM 中的第 2 项内容如下:

如果注册成功,C2DM 服务器会广播一个 REGISTRATION Intent 给应用程序一个注册 ID。应用程序应存储此 ID 以供以后使用。请注意,Google 可能会定期刷新注册 ID,因此您应该在设计应用程序时理解 REGISTRATION Intent 可能会被多次调用。您的应用程序需要能够做出相应的响应。

我发现注册ID经常变化。我还发现即使注册ID更改后,旧的可能仍然可以使用一段时间。

于 2012-06-15T19:28:13.737 回答