Java 检查Firebase云消息的新通知。(FCM)

Java 检查Firebase云消息的新通知。(FCM),java,android,firebase,firebase-cloud-messaging,Java,Android,Firebase,Firebase Cloud Messaging,如果我连接了firebase云消息,我正在寻找一种读取或收听更改的方法。通知被发送到firebase上的Android项目,因此如果有新的通知,我应该检查Android应用程序 我应该使用下面的代码吗 @Override public void onMessageReceived(RemoteMessage remoteMessage) { Log.d(TAG, "From: " + remoteMessage.getFrom()) } 我试着按照文档进行操作。但是我通过检查FCM上

如果我连接了firebase云消息,我正在寻找一种读取或收听更改的方法。通知被发送到firebase上的Android项目,因此如果有新的通知,我应该检查Android应用程序

我应该使用下面的代码吗

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {

    Log.d(TAG, "From: " + remoteMessage.getFrom())
}

我试着按照文档进行操作。但是我通过检查FCM上的新通知而受到挑战。

您可以检查通知是否已触发:

@Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        Log.e(TAG, "From: " + remoteMessage.getFrom());
        Log.e(TAG, "Data Payload: " + remoteMessage.getData().toString());

        if (remoteMessage.getNotification() == null)
            return;
        // Check if message contains a notification payload.
        if(remoteMessage.getNotification() != null) {
            handleNotification(remoteMessage, remoteMessage.getNotification().getBody(), remoteMessage.getNotification().getTitle());
        }

如果你的意思是列出所有来自Android的通知,我相信你不能这么做。另一种方法是:Firebase通过onMessageReceived方法告诉您某个特定客户端何时可以使用新通知。如果您需要其他逻辑,您可能希望在启动时使用后端存储通知,然后Android端可以根据新通知的唯一ID将其与后端匹配,以执行进一步的操作,即确保用户收到通知,统计信息等。

@Idris用于检查推送是否触发,而不仅仅是检查remoteMessage。getNotification()!=空。是的,我想检查通知是否被触发,这正是我想要的。实际上,在FCM上推送消息后,我尝试记录
remoteMessage.getNotification()
,但它没有记录。但是当我添加通知时,它起作用了,是什么原因造成的?我的另一个问题是,如果我先发送第一条消息,然后再发送第二条消息,该语句是否会继续通知
if(remoteMessage.getNotification()!=null){handleNotification(remoteMessage,remoteMessage.getNotification().getBody()),remoteMessage.getNotification().getTitle());}
有变化吗?嘿,谢谢你的回答,但我的意思是每次在云中可用时都检查一条新消息。