2011-12-22 2 views
0

Я хочу использовать C2DM в своем приложении для Android. Я использую схемы кода, показанные в официальных руководствах. Кажется, что все работает нормально, но у меня проблемы с правильной обработкой регистрации. В классе C2DMMessaging есть 2 метода, которые я должен использовать: сначала register() и next getRegistrationID(). Если я использую их последовательно, я получаю null-форму getRegistrationID(). Проблема заключается в регистрации асинхронной. В моем приложении вначале мне нужно знать regidtrationId, я могу запустить остальную часть приложения только после того, как я его получу. Я попытался выполнить некоторую синхронизацию с использованием мониторов (т.е. wait() в методе register и notify() в C2DMReceiver.onRegistered()), но это не сработало (код onRegistered() не был достигнут после вызова wait() в регистре()). Другими словами, мне нужна регистрация синхронно, поэтому я могу продолжить, только после того, как я зарегистрируюсь. Каков правильный способ сделать это?Регистрация правильной регистрации C2DM

ответ

0

Убедитесь, что вы следуете ниже рекомендациям:

  1. Для разработки и тестирования на эмуляторе Android, вам необходимо скачать 2.2 версии Android из Google APIs Add-On в ваш SDK.
  2. Убедитесь, что вы установили android:minSdkVersion="8" в манифест.
  3. Убедитесь, что на вашем эмуляторе или устройстве установлена ​​хотя бы одна учетная запись Google.
+0

Я не вижу связи .. Прочтите мой вопрос внимательно. Но да, все, о чем вы просите, в порядке. Как я уже писал, коммуникация работает - я просто хочу обработать ее определенным образом. – rideronthestorm