在Android系统托盘中处理驳回的Firebase通知

问题描述:

onMessageReceived方法我将一些数据保存在本地数据库中。在Android系统托盘中处理驳回的Firebase通知

如果应用程序在背景当我点击通知时,它会将我重定向到启动器活动。在那里,我正在处理来自Bundle的传入数据并将其保存在本地数据库中。

如何在用户解除通知时处理? 因为如果用户驳回通知,我从服务器收到的数据将丢失。

+0

你为什么不保存数据? –

+0

@DivyeshPatel我一收到数据就立即保存。但如果应用程序在后台onMessageReceived不再被调用。 –

+0

因为您正在使用通知。而是使用FCM的Data方法,它每次调用onMessageReceived时都会使用 –

您可以使用广播Reciever保存数据时,收到签出此链接:https://developer.android.com/guide/components/broadcasts.html

您可以通过添加deleteIntent到您的通知建设者处理解雇。 使用意图,添加您收到的数据并将其重定向到处理程序类。 在处理程序中的类中提取数据并保存到DB :)

mBuilder.setDeleteIntent(PendingIntent.getService(this, 0, new Intent(this.context, YourHandlingClass.class), PendingIntent.FLAG_CANCEL_CURRENT)); 

消除对FCM的通知和使用的数据方法时它是固定的。

谢谢@DivyeshPatel

您可以直接保存onMessageReceived数据到本地数据库,而不是等待用户打开通知。

2.禁用自动取消,只要它接收onmessageReceived

notication.setAutoCancel(false)