是否可以在屏幕顶部显示firebase系统通知的弹出窗口(当app在后台时)?我使用setPriority(Notification.PRIORITY_MAX)
来显示前台onMessageReceived
的通知。
我同时使用notification
和data
字段,因此我无权访问前台收到的通知。我尝试将priority
设置为high
并使用仅通知推送 - 没有任何帮助。
答案 0 :(得分:3)
当使用仅onMessageReceived
有效负载时,当您的应用处于后台时,才能在data
中处理该消息。
在您的有效负载中同时使用notification
和data
时,预期的行为是Android系统将在应用处于后台时处理通知,而不管您的{{{{} 1}}。
有关详细信息,请参阅Handling Android Messages上的官方文档。
答案 1 :(得分:0)
如果您仅在通知中发送了数据字段,则可以在以下功能中处理通知
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
if (remoteMessage.getData().size() > 0) {
Log.d(TAG, "Message data payload: " + remoteMessage.getData());
}
// Check if message contains a notification payload.
if (remoteMessage.getNotification() != null) {
Log.d(TAG, "Message Notification Body: " +remoteMessage.getNotification().getBody());
}
}
请注意,该请求中不包含通知字段