如果不是数据消息,让 FCM 处理设备上的通知。
我如何强制 Android 使用 FCM 显示通知,即使应用程序在前台?我不想构建自己的通知。
我向我的应用程序发送两种类型的消息:数据消息和普通通知消息。数据消息在 onMessageReceived()
中处理,无论应用程序处于后台、前台还是被杀死,都可以正常处理。但现在我也通过 Firebase 控制台发送普通通知消息,当应用程序在后台时它们会自动显示,但当应用程序在前台时,会调用 onMessageReceived()
。在这里,我需要以某种方式告诉 FCM 显示内容,而无需我自己构建通知。
我尝试了以下方法:
@Override public void onMessageReceived(RemoteMessage remoteMessage) {
if(remoteMessage.getData() == null || !remoteMessage.getData().containsKey("specificKey")) {
// notification msg, let FCM handle it
super.onMessageReceived(remoteMessage); // this is not working - I want FCM to show notification the same as if the app was in background.
return;
} else {
// data message, I'm handling it on my own and showing a custom notification, working fine and well
}
}
但这是我通过代码自己处理的,我希望FCM能以某种方式来完成它。我该怎么做呢?