经过一段时间的开始,我已经让Android C2DM在模拟器中运行了。应用程序首次启动时,它使用chrometophone project中的代码向C2DM服务注册。 registrationId
保存在首选项中,并在后续启动时使用。
只要仿真器一直运行,这似乎可以正常启动,。但是,如果我杀死模拟器并重新启动它,那么应用程序需要新的注册才能再次开始接收C2DM消息。这是已知/预期的行为吗?
答案 0 :(得分:0)
是的,这是已知/预期的行为。 Item 2 in Enabling C2DM读到:
如果注册成功,C2DM服务器将广播一个 注册为应用程序提供注册ID的Intent。该 应用程序应存储此ID以供以后使用。 请注意Google可能 定期刷新注册ID ,所以你应该设计你的 申请时可以理解REGISTRATION Intent 多次召唤。您的应用程序需要能够响应 相应地。
我发现注册ID经常发生变化。我还发现,即使注册ID发生变化,较旧的ID仍然可能会工作一段时间。