마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

GCM질문입니다..도와주세요..

0 추천
try{
   GCMRegistrar.checkDevice(this);
   GCMRegistrar.checkManifest(this);
   
   String regId = GCMRegistrar.getRegistrationId(this);
   
   Log.d("--", "regId = " + regId);
   if(regId.equals("")){
    Log.d("--", "regId = in = " + regId);
    GCMRegistrar.register(this, SENDER_ID);
    Log.d("--", "regId = in2 =  " + GCMRegistrar.getRegistrationId(this));
   }else{
    Log.d("--", "regId already regisiter");
   }
   }catch (Exception e) {
   // TODO: handle exception
    Log.d("ErrorLog", e.toString());
   }

안녕하세요.. 초보개발자입니다..

지금 제 소스는 저렇게 되어 있는데요..

아무리 해도.. Log에는.. 아무값도 들어가지 않네요..

in2 log까지는 들어가는데.. register 를 한후.. getRegistrationId 해도 값이 없습니다..ㅠㅠ

고수분들 도움좀 주세요..

그리구 한가지 궁금한게 있는데요..

제가 생각하고 있는건.. regId를 회원 마다 db에 저장해둔후.. 나중에 불러와서 계속 사용하려 하는데..

그렇게 해도 상관없는건가요? 구글링을 하다보니 regId가 바뀐다는 말이 있어서요..

고수분들 조언부탁합니다.

mamongs (4,050 포인트) 님이 2013년 9월 2일 질문
회색님이 2013년 9월 2일 태그 변경

2개의 답변

+1 추천
 
채택된 답변
해당 소스 만으로는 문제를 알수가 없습니다.

일단 GCMRegistrar.register()는 메인스레드가 아닌 타 스레드에서 돌아가니 당연히 하단의 로그는 찍힐수 밖에요...

등록이 되지 않는 이유는 너무나도 많으므로 넘겨짚기도 힘듭니다.

다시한번 차근히 살펴 보시기 바라구요...

네 레지아이디가 바뀔 가능성이 있긴 합니다. 물론 그 빈도수가 많지는 않지만....

절대 바뀌지 않는다는 보장을 하지 못합니다.

즉 레지아이디는 어플이 켜질때 마다 검사해서 업데이트 하는 방법을 사용하셔야 합니다.
ThisPlus (46,920 포인트) 님이 2013년 9월 2일 답변
mamongs님이 2013년 9월 2일 채택됨
방금 문제 해결하고 답변을 봤습니다.
레지 아이디가 변경이 되는군요.. 감사합니다 ^^
0 추천
onRegistered 메소드에서 확인해 보면 나올꺼 같은데요
익명사용자 님이 2013년 9월 2일 답변
...