Firebase通知onMessageReceived显示与后台应用时相同的通知

时间:2016-07-12 12:52:36

标签: android firebase firebase-notifications

我正从控制台向我的应用发送消息,我设法让应用程序按照我的需要做出反应,当它在后台时。所以基本上SDK会显示一个通知,当用户点击它并启动应用程序时,我会有一些自定义数据字段用于构建对话框消息。

由于我还希望应用在前台时做出反应,我已经添加了服务,我注意到RemoteMessage还包含getNotification()方法,该方法返回RemoteMessage.Notification我假设SDK使用它来显示应用程序在后台的通知。

是否有一种简单的方法可以简单地使用检索到的通知并显示它,就像应用程序处于后台时一样?

1 个答案:

答案 0 :(得分:2)

确实有。只需覆盖FirebaseMessagingService.onMessageReceived,然后从Firebase Cloud Messaging文档中获取此示例中的通知正文:

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    // TODO(developer): Handle FCM messages here.
    // If the application is in the foreground handle both data and notification messages here.
    // Also if you intend on generating your own notifications as a result of a received FCM
    // message, here is where that should be initiated. See sendNotification method below.
    Log.d(TAG, "From: " + remoteMessage.getFrom());
    Log.d(TAG, "Notification Message Body: " + remoteMessage.getNotification().getBody());
}

请参阅"覆盖onMessageReceived"下的receiving downstream messages on Android的Firebase云消息传递文档。