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

gcm GCMIntentService 클래스에서 특정 activity method 호출하기

0 추천
TalkActivity.java 파일에 public void addNewMessage(Message m)는 메소드가 있습니다.

화면 리스트 뷰에 채팅내용이 올라가는 메소드 입니다.

사용은 addNewMessage(new Message(newMessage, true)); 하면 제가 쓴내용이

addNewMessage(new Message(newMessage, false)); 하면 상대가 쓴 내용이 올라갑니다.

 

GCMIntentService 클래스의 onMessage 메소드에서 현재 채팅중이면 즉 TalkActivity.java가 활성화 되어 있으면

TalkActivity.java의 addNewMessage(new Message(newMessage, false)); 메소드를 호출하고 싶은데요.

별짓거리를 해도 안되네요. GCMIntentService에 객체를 전달할 수 있지도 않고

addNewMessage 메소드를 stactic으로 잡으면 리스트 뷰 자체를 쓸 수 없고

 

핸들러를 통해서 메세지를 보내라는데 제가 아는 한도에서 해보니깐 정말 12시간 삽질만하게 되네요.

 

구체적인 질문은 현재 채팅중이면 push메세지를 현재 엑티비티에 add 하고 싶은거예요 ㅠㅠ;;;;;

토스트 띄우고 노티피케이션 띄우고 인텐드로 엑티비티 이동은 다 해봤습니다.

 

보통 GCMIntentService에서 다른 엑티비티로 정보는 어떻게 보내는지요?? 단순히 인텐드로 보내면 현재 활성화 되어

있는 채팅창과 두번 중복인데요 ㅠㅠ 핸들러로 어떻게 하라는건지 ㅠㅠ

간단한 예제 소스라도 부탁 드립니다.
벌이뉨 (120 포인트) 님이 2013년 10월 18일 질문

2개의 답변

0 추천
아침에 물어보고 ㅋㅋㅋ 여기다 올렸어여?  

소스 보내줘봐여 ㅋㅋㅋㅋ
웅바라지 (4,780 포인트) 님이 2013년 10월 18일 답변
0 추천
GCMIntentService 에서 Push Message를 받았을꺼라고 추정이 됩니다.

TalkActivity.java 에 넘겨야 될 정보는 GCMIntentService에서 받은 Intent에 모든 정보가 있을 텐데요.

이 Intent 정보를 TalkActivity로 넘겨서 TalkActivity에서 처리하는 것도 하나의 방법이 될 것 같네요.

Intent정보를 넘길때는 broadcast를 사용하거나 TalkActivity에서 만들어 놓은 Handler를 이용하거나 하면 될 겁니다.
Ticker (180 포인트) 님이 2013년 10월 18일 답변
...