안드로이드 개발 질문/답변
(글 수 45,052)
채팅을 구현하고자 합니다.
c2dm 으로 메세지를 날릴경우 리시버가 받습니다.
현재 채팅창에서 보세지를 보내고 데이터베이스에 저장합니다.
메세지를 리시버로 받을경우 데이터 베이스에 저장합니다.
그러나. 문제는 현재 채팅창에서 보낼때는 보냄과 동시에 리스트에 추가하면 되는데
받았을때는 어떻게 처리해줘야 하나요?
리시버에서 디비에 저장은 했는데
채팅 엑티비티로 신호를 보내서 데이터 베이스를 다시 리로드 하게 하여 리스트를 추가하던..
리시버에서 채팅 엑티비티에 접근하여 리스트를 추가해줘야하는데. 리시버에서 엑티비티로 직접적인 접근이 안되서 말입니다.
주기적으로 폴딩 하는 방법말고..
리시버에서 다시 브로드캐스트를 보내서 해당 인텐트에서 리시버 받을수 있는 방법이 있을까요?
2011.06.30 23:05:18
ComponentName cn = new ComponentName("페키지명", "액티비티");Intent in = new Intent();in.setComponent(cn);in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(in);




확실치는 않으나
채팅의 Activity의Flag가 SingleTop인경우
리시버에서 intent를 Intent.FLAG_ACTIVITY_NEW_TASK 로 만들어서 startActivities로 채팅 Activity를 열면
채팅Activity가 Top에 이미 떠있는 상태에서 Activity를 onCreate하지 않고 onNewIntent할 겁니다
거기서 처리해 주시면 될거 같네요