2014-11-26 3 views
0

푸시 알림을 위해 노력하고 있습니다. Google 애플리케이션에 내 애플리케이션을 등록했습니다. 내가 장치 ID를 가져 오면 GCMIntentService 클래스의 onRegistration()에 매번 다른 장치 ID를 반환합니다.이 점에 대해 도움을주십시오.gcm에서 한 기기의 다른 기기 ID 받기

@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

쿼리가 무엇인지 모르지만 등록 ID를 한 번만 가져 오는 방법을 호출해야합니다. – nobalG

+0

이 함수는 한 번만 호출합니다. 그러나 내가 앱을 제거하고 다시 설치하면 다른 장치 ID로 반환됩니다. @Override protected void onRegistered (컨텍스트 컨텍스트, 문자열 registrationId) { 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) 다음번에 SharedPreferences에 deviceId이 있는지 확인하십시오. https://developer.android.com/google/gcm/client.html

그것은 모든 것을 갖추고 있습니다 (거의) 당신이 필요합니다 :

난 당신이 문서를 따라하는 것이 더 나은 것 같아요.

+0

uninsatallation 후에 앱을 다시 설치할 때 문제가 발생합니다. 동일한 장치에 대해 다른 장치 ID를 반환합니다. – Kaifi

+0

예상되는 동작입니다. 그게 잘못이라고 생각하니? – JustWork