Android C2DM正确处理注册

Android C2DM正确处理注册,android,registration,android-c2dm,Android,Registration,Android C2dm,我想在我的android应用程序中使用C2DM。我正在使用官方教程中显示的代码模式。一切似乎都很好,但我在正确处理注册方面有问题。 在C2DMMessaging类中,我必须使用两个方法:first register()和next getRegistrationID()。如果按顺序使用它们,则从getRegistrationID()中得到null。问题是注册是异步的。在一开始的应用程序中,我需要知道RegidTorationID,只有在得到它之后,我才能启动应用程序的其余部分。 我尝试使用监视器进

我想在我的android应用程序中使用C2DM。我正在使用官方教程中显示的代码模式。一切似乎都很好,但我在正确处理注册方面有问题。 在C2DMMessaging类中,我必须使用两个方法:first register()和next getRegistrationID()。如果按顺序使用它们,则从getRegistrationID()中得到null。问题是注册是异步的。在一开始的应用程序中,我需要知道RegidTorationID,只有在得到它之后,我才能启动应用程序的其余部分。 我尝试使用监视器进行一些同步(即register方法中的wait()和C2DMReceiver.onRegistered()中的notify()),但没有成功(在register()中调用wait()后,还没有到达onRegistered()的代码)。
换句话说,我需要的是使注册同步,以便只有在获得registrationId后才能继续。正确的方法是什么?

确保遵循以下准则:

  • 要在Android Emulator上开发和测试,您需要将Android 2.2版本的Google API插件下载到SDK中
  • 确保在清单中设置了android:minSdkVersion=“8”
  • 确保您的模拟器或设备上至少同步了一个Google帐户

  • 我看不出有什么联系。。仔细阅读我的问题。但是是的,你问的所有事情都没问题。正如我所写的,沟通是有效的——我只是想用一种特定的方式来处理它。