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

안드로이드 notification 여러 개 띄울 때 관련 질문입니다

0 추천

지금 어떤 게시판에 새 글이 올라오면 그 글 주소를 gcm으로 보내서

기기에서 받은 다음 그 글 링크를 띄어주는 notification이 생성되도록 하였는데요

(글은 해당 주소를 webview 위젯으로 보여주는 액티비티를 이용해 보여줍니다..)

gcm 메세지 올때마다 알림도 잘 뜨고 해당 notification 터치하면 그 글 보여주는 것도 잘 되긴 하는데

한 글을 띄운 상태에서 다른 notification을 터치하면 그 글이 안뜨네요

 

intent에 별다른 flag 설정하지 않으면 그 액티비티가 중복으로 생성되는 것 아닌가요..?

답변 주시면 감사하겠습니다

 

아래 코드는 notification에서 해당 액티비티 불러오게 설정하는 코드입니다..

 

Intent intent = new Intent(getApplicationContext(), WebViewActivity.class);  

// App을 구동하기 위한 PendingIntent의 생성  
PendingIntent pintent = PendingIntent.getActivity(context, noticeId, intent, PendingIntent.FLAG_UPDATE_CURRENT);  
// 통지의 상세 정보 지정  
// (출처Aactivity, 제목, 내용, 선택시 구동할 App정보)  
noti.setLatestEventInfo(context, title, message, pintent);  

 

익명사용자 님이 2013년 6월 6일 질문

2개의 답변

0 추천
http://www.androidpub.com/468057

관련있지 않을까요...

전 그냥 인텐트로만 구현했는데 중복실행잘됩니다..
  (11,920 포인트) 님이 2013년 6월 7일 답변
0 추천

해결 하셧겠지만 다른 사용자가 이 글을 볼 수 있으니 올려 놓을게요 ~~ ㅎㅎ

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

이 두줄을 인텐트 밑에 넣으시면 됩니다.

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); 이 것은 스택에 있는 액티비티를 지운다는 것이고

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 이 것은 액티비티를 새롭게 만든다는 것입니다.

결과적으로 알림을 클릭하면 모든 액티비티를 지우고 새롭게 만든다는 것이지요 ㅎㅎ

 

 

익명사용자 님이 2017년 9월 18일 답변
...