2014-11-26 6 views
0

Я работаю над уведомлением Push, я зарегистрировал свое приложение в консоли Google. когда я выбираю идентификатор устройства, он возвращает каждый идентификатор устройства каждый раз в onRegistration() класса GCMIntentService. Пожалуйста, помогите мне в этом.Получение идентификатора устройства одного устройства из gcm

@Override protected void onRegistered(Context context, String registrationId) 
{ 
    Log.i(TAG, "Device registered: regId = " + registrationId);  
    SavePreferences(registrationId,context); 
    //Log.d("NAME", MainActivity.name); 
    //ServerUtilities.register(context, MainActivity.name, MainActivity.email, registrationId); 
} 
+0

Не знаю, каков ваш запрос, но вы должны вызвать методы для получения идентификатора регистрации только один раз. – nobalG

+0

Я вызываю эту функцию только один раз. Но когда я удаляю приложение и снова устанавливаю его, он возвращается с другим идентификатором устройства. @Override protected void onRegistered (контекст контекста, регистрация строки) { Log.i (TAG, «Зарегистрировано устройство: regId =» + registrationId); SavePreferences (registrationId, context); //Log.d("NAME ", MainActivity.name); //ServerUtilities.register(context, MainActivity.name, MainActivity.email, registrationId); } – Kaifi

ответ

0

Это нормальная ситуация. Вы НЕ должны регистрировать устройство непрерывно. Зарегистрируйте и сохраните deviceId где-нибудь (например, SharedPreferences), и в следующий раз проверьте, есть ли у вас deviceId в SharedPreferences.

Я думаю, что лучше для вас, чтобы следовать статье: https://developer.android.com/google/gcm/client.html

В нем есть все (почти), что вам нужно.

+0

У меня проблема, когда я переустанавливаю приложение после uninsatallation. Он возвращает другой идентификатор устройства для одного и того же устройства. – Kaifi

+0

Ожидается поведение. Как вы думаете, что с этим не так? – JustWork