2014-02-04 4 views
1

Я должен получить идентификационный номер GCM, когда я запускаю приложение в первый раз после регистрации GCM.Как получить регистрационный номер GCM, когда я запускаю приложение в первый раз после регистрации GCM?

Если я выполню приложение со второго раза, я могу получить идентификатор регистрации CGM (notify id). , но когда первый раз я начинаю, я не могу это получить ...

скажите, пожалуйста, как добраться?

это мой код:

private String GCMConnection() { 
    GCMRegistrar.checkDevice(this); 
    GCMRegistrar.checkManifest(this); 

    String notifyId = GCMRegistrar.getRegistrationId(this); 
    if (notifyId.equals("")) { 
     GCMRegistrar.register(this, GCMParam.SENDER_ID); 
     notifyId = GCMRegistrar.getRegistrationId(this); 
    } 
    return notifyId; 
} 

ответ

3

GCMRegistrar.register асинхронный метод. Если вы решите использовать его, вы можете получить ответ через широковещательный приемник. GCMRegistrar.getRegistrationId возвращает непустое значение только после того, как приложение впервые получит ответ на запрос регистрации.

Однако этот класс устарел. Вместо этого вам рекомендуется использовать GoogleCloudMessaging.register, что является синхронным и поэтому не должно запускаться в основном потоке.

Вы можете увидеть образцы кода в official GCM guide.

+0

Спасибо большое! ваш ответ помог мне! – user3192360

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