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

8.0 오레오에서 gcm이 작동 안합니다.

0 추천
GCMRegistrar.register(this, UrlUtil.gcmProjectID);
reg_id = GCMRegistrar.getRegistrationId(getApplicationContext());

 

 

몇년전에 만든 앱이 있습니다.

이게 마쉬멜로 에서는 밑에 코드에서 토큰값을 잘 받아오고, 서버에서 send할때 정상적으로 받아옵니다.

근데 오레오폰에서는 ...

 

 

 

Registering app [패키지명] of senders [센더넘버]

onReceive: com.google.android.c2dm.intent.REGISTRATION

Setting the name of retry receiver class to [패키지명 리시버]

GCM IntentService class: [패키지경로.GCMIntentService]

 

 

이렇게 로그로 찍어놓은 토큰값을 가져오질 못하네요...

마시멜로나 그 이하 폰에서는 정상적으로 토큰값 가져옵니다.

오레오에서는 푸시알람에 대한 퍼미션관련 작업을 해야 토큰값을 정상적으로 받아올 수 있나 해서

밑에처럼 퍼미션 띄우는거 해놨는데...

 

if(ContextCompat.checkSelfPermission(mContext, or.android.aides.Manifest.permission.C2D_MESSAGE) != PackageManager.PERMISSION_GRANTED ) {

요 if문을 아예 건드리질 않네요 ...

 

 

10월달 부터 gcm 지원중단한다고 하는데, 서버쪽도 수정해야되고 일이 좀 커질 것 같아서...

일단 급하게 현재 버젼 gcm으로 푸시만 돌아가게 수정해야 됩니다.

 

오레오버젼에서만 문제네요...

뭐가 문제인 것일까요 ... ㅠㅠ

익명사용자 님이 2018년 8월 1일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...