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

수정했어요 GCM으로 메세지를 전달하면 인텐트에서 정보처리가 잘 안되는 증상

0 추천
GCM으로 메세지를 쏘는데요,

A 액티비티(MainActivity.class), B 액티비티(MsgActivity.class) 인텐트가 2개 있어요

처음 실행하면 A 액티비티가 실행되요.

GCM 메세지를 수신하면 B 액티비티 인텐트가 실행(MsgActivity.class)되고

여기서 메시지를 처리하거든요.

 

근데 이상한게 A 액티비티(MainActivity.class)에서는 메세지 처리가 안되요.

B 액티비티(MsgActivity.class)를 불러 표시하고 있으면 메세지 처리가 되고요 ㅠㅠ

그러니깐 A 액티비티 인텐트에 있으면 메세지 처리를 전혀 못해요.

 

GCMInterntService에서

onMessage 구문에 아래처럼 추가했거든요 (매니페스트도 등록했고요)

Intent newIntent = new Intent(getBaseContext(), MsgActivity.class);
newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_SINGLE_TOP);
newIntent.putExtra("msg", msg);
context.startActivity(newIntent);

 

근데 얘가 이상한건지 A 액티비티 인텐트에서 푸시는 받고 B로 이동하는 것 까지는 정상인데

B에서 메세지 처리를 전혀 못해요 (메세지 처리는 단순히 토스트 뿌리는거거든요)

근데 B 액티비티 실행해 놓으면 정상적으로 메세지 처리하고요 ㅠㅠ

 

이거 왜 이런걸가요?
초봉초봉 (3,480 포인트) 님이 2014년 7월 7일 질문
초봉초봉님이 2014년 7월 7일 수정
무슨말인지 하나도모르겠습니다...

단어조합이 하나도안되서 답변이 제대로안나갑니다..
이해하기 쉽게 변경했어요 ㅠㅠ

1개의 답변

0 추천
어정쩡하게 이해했는지몰라도....

A액티비티에서 onNewIntent를 오버라이드해서 처리해보시기바랍니다

http://diyall.tistory.com/786
whdrb19 (23,520 포인트) 님이 2014년 7월 7일 답변
정말 감사합니다.^^ 한번 해보겠습니다
...