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