App在后台时,如何用代码关闭FCM的自动通知?

How to turn off FCM's automatic notifications with code, when the App is in the background?

我的应用有一个选项可以打开 on/off FCM 通知。

当应用程序在前台时,我无法显示 FCM 通知。

但是如何在后台关闭FCM的通知功能呢?

使用 Android Studio 中的代码关闭 FCM 功能。

Firebase 云消息传递有两个 payload types in its messages:

  • 通知负载,如果应用未激活,则由系统本身处理,如果应用处于活动状态,可以由您的代码处理。
  • 始终由您的代码处理的数据负载。此代码 可以 然后显示通知,但它也可以对数据做其他事情(或什么都不做)。

如果您发送了一条通知消息,但该应用程序未被主动使用,则该消息将由系统处理,无法阻止其显示。


所以你有两个选择:

  • 始终发送带有(仅)数据负载的消息,以便您自己的代码可以处理它 - 如果用户没有禁用它,则显示通知。

  • 如果用户已禁用接收通知,请不要发送带有通知负载的消息。