У меня есть настройка C2DM, следуя всем интерактивным документам и учебникам. Мое устройство успешно регистрируется и сохраняет регистрационный идентификатор.
Когда я запрашиваю регистрацию, устройство получает намерение com.google.android.c2dm.intent.REGISTER.
Затем я передаю этот регистрационный идентификатор моему серверу и отправляю ему сообщение C2DM, которое успешно завершается, возвращая идентификатор сообщения.
Теперь проблема в том, что после отправки сообщения устройство получает намерение com.google.android.c2dm.intent.REGISTER, а НЕ намерение com.google.android.c2dm.intent.RECEIVE.
У этого намерения есть ДОПОЛНИТЕЛЬНО EXTRA_UNR номенклатуры - поэтому внутри handleRegistration () оно затем очищает регистрационный идентификатор.
Я не могу понять это ради своей жизни. Мой код практически идентичен демонстрационной версии ChromeToPhone.