我正在使用Android的Firebase Cloud Messaging。当我的应用程序位于前台时,FCM将在应用程序的onMessageReceived
子类上调用FirebaseMessagingService
。
当我的应用程序在后台运行时,Android操作系统将在系统任务栏中创建一个默认通知条目。该通知条目对我来说看起来不错;对于我需要发送的通知,我并不需要特别打扰用户。系统托盘中的默认通知就可以了。
我的问题是,当我的应用程序位于前台时,如何在onMessageReceived
中发生“默认”通知?有没有办法说:“我不需要拦截此通知;如果我在后台,请按照您通常的操作进行操作?”
(我是否必须手动使用NotificationCompat.Builder
模拟它?如果是这样,我需要传递哪些设置以获得默认行为?)
答案 0 :(得分:0)
应用在后台运行时,您的通知将由Google服务处理,该服务会根据需要显示您的通知,包括默认的点击操作(打开应用)和通知图标。
当应用程序处于前台时,接收到的消息将由应用程序处理。
是的,您必须模仿NotificationCompat.Builder使其看起来像默认值。没有其他方法可以通过onMessageReceived()回调进行拦截。
参考:https://firebase.google.com/docs/cloud-messaging/android/receive