안녕하세요~ 챠니입니다! :)
오늘은 FCM에서 푸시알림을 수신받았을때 TaskStackBuilder getPendingIntent에서 각 intent를 지정했지만 실제 push를 클릭했을 때 해당 intent가 아닌 최신 intent에 대한 내용만 작동하는 현상에 대해서 알아보겠습니다.
아래코드 예시를 하나 보겠습니다.
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(MainActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
문제점 1 (동일한 RequestCode)
보통 푸시알림 클릭에 대한 pendingIntent를 다음과 같이 설정합니다.
하지만 푸시가 여러개 쌓이게 되면 문제가 생기게 됩니다.
stackBuilder.getPendingIntent에서 RequestCode가 0으로 고정이 되어있기때문에 혹시 intent에 다른 값을 넣어도 개별적으로 쌓이지 않고 덮어씌워지기 때문에 문제가 됩니다.
이런 상황에서는 RequstCode를 각각 지정해야 intent값들이 제대로 전달이 됩니다.
문제점 2 (Flag 설정)
PendingIntent에 대한 Flag설정값들을 알고 있어야 합니다.
flag는 아래 내용처럼 설정할 수 있습니다.
|
많이 사용하는 flag들은 있지만 푸시알림에 대한 처리를 어떻게할 것인지에 따라서 사용되는 flag는 달라지게 됩니다.
예를들어 PendingIntent에 대한 각각의 처리가 필요할 경우 "FLAG_UP용ㅎDATE_CURRENT"를 사용할 순 없겠죠?
이런경우는 "FLAG_ONE_SHOT"을 사용할 수 있습니다.
질문 또는 궁굼한 부분은 댓글을 남겨주세요! 친절하게 답변드리겠습니다!
응원의 댓글은 저에게 큰 힘이 된답니다! :)
즐거운 하루되세요!
깃허브 보러 놀러오세요 👇 (맞팔환영)
https://github.com/younminchan
'🖥 Programming > 📱 Android (Kotlin)' 카테고리의 다른 글
[Android][kotlin] QRcode Generate (QR코드 생성하기) 초간단!! (0) | 2022.05.11 |
---|---|
[Android][kotlin] Go to the documentation to learn how to Fix dependency resolution errors. (0) | 2022.05.10 |
[Android][Kotlin] 네이버 아이디 로그인(네아로) 연동(Naver Login) (2) | 2022.04.29 |
[Android][Kotlin] 페이스북 로그인 API 연동(Facebook Login) (0) | 2022.04.29 |
[Android][kotlin] 빌드 변형 구성 (ProductFlavors) 한 개의 프로젝트로 여러개의 앱 만들기 (0) | 2022.04.21 |
[Android][kotlin] StatusBar 상태바 색상 변경, 상태바 아이콘 색상 변경 방법 (title StatusBar 색상 변경) (0) | 2022.04.18 |
[Android][kotlin] 싸인패드(SignPad), 시그니처패드 (Signaturepad) 구현 (2) | 2022.04.15 |
[Android] 코드 전체검색 및 코드 전체 변경 (0) | 2022.04.14 |