2011-01-18 8 views
0

Я пытаюсь разработать приложение для Android, которое использует службы c2dm. Я прочитал много учебников и посмотрел на пример хрометофона. Кажется, это легкая задача, но все же мне не удается заставить все работать. Последнее руководство я последовал за этим: http://www.johnhawthorn.com/2010/12/android-cloud-to-device-messaging-1/. Я действительно не могу понять, нужно ли мне создать экземпляр класса C2DMReceiver или он будет создан автоматически, когда служба c2dm вызовет одну из функций, объявленных в классе, например. onRegistered().C2DM: где создается экземпляр C2DMReceiver?

ответ

2

C2DMReceiver является Service. Вы никогда не создаете свои собственные экземпляры сервисов.

Некоторые из хелперов кода Google (C2DMBaseReceiver) не только обеспечивает суперкласс для C2DMReceiver, но и организует вызов startService() на C2DMBaseReceiver по мере необходимости на основе C2DM событий.

+0

Хорошо! Спасибо, что разобрался! Итак, все должно быть правильно, только, возможно, еще слишком рано, и аккаунт google (http://code.google.com/intl/it-IT/android/c2dm/signup.html) еще не активирован. Возможно, поэтому метод onRegistered из класса C2DMReceiver никогда не вызывается. – singingAtom

+0

@singingAtom: Да, если ваша учетная запись не находится в системе C2DM, она не будет работать. – CommonsWare

Смежные вопросы