在Android系统托盘中处理驳回的Firebase通知
问题描述:
在onMessageReceived方法我将一些数据保存在本地数据库中。在Android系统托盘中处理驳回的Firebase通知
如果应用程序在背景当我点击通知时,它会将我重定向到启动器活动。在那里,我正在处理来自Bundle的传入数据并将其保存在本地数据库中。
如何在用户解除通知时处理? 因为如果用户驳回通知,我从服务器收到的数据将丢失。
答
您可以通过添加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)
你为什么不保存数据? –
@DivyeshPatel我一收到数据就立即保存。但如果应用程序在后台onMessageReceived不再被调用。 –
因为您正在使用通知。而是使用FCM的Data方法,它每次调用onMessageReceived时都会使用 –