총 게시물 38,765건, 최근 2 건 안내 RSS 글쓰기
이전글  다음글  목록 글쓰기
[안드로이드]

FCM 메세지 받았을때 나오는 화면

글쓴이 : andhuni 날짜 : 2017-05-18 (목) 14:17 조회 : 1433
글주소 : http://www.androidside.com/B49/167276
 
  한국시뮬레이션기술
LS DYNA, SIMPACK, Simuform, FCM, VPG
www.kostech.co.kr
  진화형전쟁RPG 퍼스트에이지
오리지널 RPG의 귀환! 지역쟁탈전, PK, 레이드 던전까지! 고퀄리티 웹RPG!
1a.topgame.kr
  추천게임 크라운
고퀄 취향저격 웹RPG, 성인PK, 원클릭전투! 문상이벤트! 추천게임
crown.nolzzang.com
신청하기


안드로이드, 자바 그리고 다양한 질문에 대해 성실히 답해드립니다. Q&A Jang

FCM 메세지 받았을때,,,,메세지내용 확인하고 누르면 자꾸 처음 화면으로 가는데요,,,

Intent intent = new Intent() 이부분에 아무것도 안써도 MainActivity가는데 왜 그런거죠?



질문자가 자신의 포인트 5 점을 걸었습니다.
답변하시면 포인트 2을, 답변이 채택되면 포인트 4을 드립니다.

질문답변 게시판에서 궁금한 사항을 해결하셨다면, 애써 답변해주신 분께 잘 되었다고 따뜻한 댓글 한마디 남겨주세요.
그리고 답변해주신 분의 글을 '추천' 해주세요.
추천받으신 분에게 1포인트가, 추천하신 분에게도 1포인트가 적립됩니다. ^^

public 2017-05-18 (목) 14:38
http://stackoverflow.com/questions/37407366/firebase-fcm-notifications-click-action-payload
댓글주소 추천 0 반대 0
에찌 2017-05-18 (목) 16:39
아래와 같이 추가해서 해보세요
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
Intent intent = new Intent(this, SplashActivity.class);
intent.putExtra("id", idx);
stackBuilder.addNextIntent(intent);
PendingIntent pendingIntent = stackBuilder.getPendingIntent(idx, PendingIntent.FLAG_UPDATE_CURRENT);
이 pendinIntent로 NotificationCompat.Builder 에 setContentIntent로 추가하시면 됩니다.
그러면 원하시는 액티비티로 갈 거에요

댓글주소 추천 0 반대 0
     
     
andhuni 2017-05-19 (금) 13:14
[@에찌] 앱을 실행시켜서 현재 띄워놓은 화면에서 메세지 확인하면 현재화면 그대로 있는데요,,,,,앱이 백그라운드로 가있을때 메세지 확인을 하면 자꾸 메인화면으로만 가져서요,,,,현재화면을 유지할 순 없나요?
댓글주소 추천 0 반대 0
          
          
에찌 2017-05-19 (금) 16:47
[@andhuni] 현재화면을 유지하기위함이라면 노티알림을 누르지 못하도록 알림을 하지않는게 맞을 듯합니다.
당연히 앱이 재실행되니깐요..
앱 재실행을 안하도록하는 방법은 그 방법밖에 없을듯합니다
댓글주소 추천 0 반대 0
뉴키 2017-05-19 (금) 14:10
NotificationCompat에서

setContentIntent 를 통채로 지우세요.
댓글주소 추천 0 반대 0
     
     
andhuni 2017-05-19 (금) 14:25
[@뉴키]
// Intent intent = new Intent(this, Main2Activity.class);

// intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
// PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);
 NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setContentTitle(notification.getTitle())
.setContentText(notification.getBody())
.setAutoCancel(true)
.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
// .setContentIntent(pendingIntent)
.setContentInfo(notification.getTitle())
.setLargeIcon(icon)
.setColor(Color.RED)
.setSmallIcon(R.mipmap.ic_launcher);

그부분을 아에 지우기도 해보고,,,,,intent부분은 아에 주석 처리하거나 없애버리기도 해봤는데,,,,
희한하게 어떻게 알고 MainActivity로만 가네요,,,,
댓글주소 추천 0 반대 0
에찌 2017-05-23 (화) 11:20
아직 해결을 안하셧군.. ㅋㅋ 런처로 지정된 액티비티가 MainActivity죠? 그럼 런처로 시작되는 액티비티를 바꿔봐여 그럼 노티를 눌렀을 때 아마 그 액티비티로 갈껄여?
댓글주소 추천 0 반대 0
이전글  다음글  목록 글쓰기

 


Copyright ⓒ www.androidside.com. All rights reserved.
채팅 권한: 글쓰기 1개
2레벨 이상만 대화 가능
공개 채팅: 평일 !(9시 ~ 17시),토,일
안사2 변경사항 보러가기 챗방이 잘 안보이면 크롬에서 접속해주세요
챗방 숨기기 |  챗방 보이기