Android에서 Firebase Cloud Messaging을 사용하고 있는데 다음 문제를 해결했습니다. 응용 프로그램이 백그라운드에있는 동안 수신 된 알림을 처리 할 때 발생합니다. 문서에 다음 내용이 나와 있습니다.FCM 런처 활동이 항상 열리지 않습니다.
앱이 백그라운드에있을 때 Android는 시스템 트레이에 메시지를 알립니다. 알림을 탭하면 기본적으로 앱 실행기가 열립니다.
여기에는 알림 및 데이터 페이로드 (및 알림 콘솔에서 보낸 모든 메시지)이 모두 포함 된 메시지가 포함됩니다. 이 사례의 경우 알림은 기기의 시스템 트레이로 전달되며 런처 활동의 의도에 따라 데이터 페이로드가 전송됩니다.
비록 이것이 대부분의 경우에 발생하지만, 나는 런처 활동이 열리지 않을 때 몇 가지 엣지 케이스를 발견했다. 대신 응용 프로그램은 백 스택의 마지막 활동에서 백그라운드에서 다시 시작되어 페이로드를 얻을 수있는 방법이 없습니다.
프로세스를 종료하고 시스템 트레이에서 알림을 통해 응용 프로그램을 열면이 문제를 재현 할 수 있습니다. 알림을 처음 탭하면 실행 프로그램 활동이 문서에서 설명한대로 열리지 만 이후 알림을 탭하면 실행 프로그램 활동을 먼저 거치지 않고 응용 프로그램을 다시 시작합니다.
내가 잘못하고 있거나 Firebase SDK에 버그가 있는지 확실하지 않습니다. 왜 이런 일이 일어날 지 아십니까?
내가 테스트중인 알림은 표시 메시지 알림 (데이터 알림 없음)이며 페이로드도 있습니다. 여전히이 문제를 직면하고 모든 사람으로
{
"to": "d-3qyvyqefU:APA91bG_nHNYeYuKwB3oIvRKStVgSyelTIhX6rtu6LGPAjgo-LGDVk9iFO5LWZ-XFMeeRVkZm0suMyJAnWORWbZlMaVcHmhFTZOKPI_A-D2wYXM0SIIT8pZZ2g4W55S1bz9YD5y625fv",
"priority": "high",
"content_available": true,
"registration_id": "d-3qyvyqefU:APA91bG_nHNYeYuKwB3oIvRKStVgSyelTIhX6rtu6LGPAjgo-LGDVk9iFO5LWZ-XFMeeRVkZm0suMyJAnWORWbZlMaVcHmhFTZOKPI_A-D2wYXM0SIIT8pZZ2g4W55S1bz9YD5y625fv",
"collapse_key": "Collapse Key",
"data": {
"type": "default",
"person": "2123435",
"token": "asdmmio23j4123azde3"
},
"notification": {
"type": "default",
"title": "Howdie!",
"body": "Say hi to your new friend!"
}
}
CLEAR_TOP && CLEAR_TASK && NEW –
@VishalPatoliya와 같은 의도로 플래그를 지정하여 알림을 클릭하면 실행 프로그램 활동을 열 수 있지만 문제는 응용 프로그램이 백그라운드 일 때 알림을 생성하는 FCM SDK입니다. 나는 의도에 대해 어떤 플래그를 사용할지 알려줄 방법이 없습니다. –
알림을 탭하면 앱이 배경에 있으며, 마지막 활동이 아닌 실행기 활동부터 시작해야합니다. –