Android Firebase通知即使在没有服务或继承类的情况下也能工作?
不久前,我在我的应用程序中实现了firebase,以使用它的通知服务,它工作正常,今天决定使用它的键/值功能,但我意识到,无论我在类中编写的内容是从Android Firebase通知即使在没有服务或继承类的情况下也能工作?,android,firebase,firebase-notifications,Android,Firebase,Firebase Notifications,不久前,我在我的应用程序中实现了firebase,以使用它的通知服务,它工作正常,今天决定使用它的键/值功能,但我意识到,无论我在类中编写的内容是从FirebaseMessagingService继承的,都不会发生任何事情。因此,我决定删除my类以用于配音,但仍然收到通知。因此,我从清单中删除了firebase消息服务,删除了应用缓存并运行了该项目,但我仍然收到通知!我可以阻止通知到来的唯一方法是删除gradle中的firebase依赖项。这里发生了什么事?刚刚好 好了,我们开始吧:使用Fir
FirebaseMessagingService
继承的,都不会发生任何事情。因此,我决定删除my类以用于配音,但仍然收到通知。因此,我从清单中删除了firebase消息服务,删除了应用缓存并运行了该项目,但我仍然收到通知!我可以阻止通知到来的唯一方法是删除gradle中的firebase依赖项。这里发生了什么事?刚刚好
好了,我们开始吧:使用Firebase有三种“通知”:通知消息、数据消息和同时包含通知和数据的消息。系统会以不同的方式接收和处理每个数据。您可以看到有关消息类型(如何构建)的更多信息
有这样的处理方式:
- 通知消息
- 前台应用程序:
的实现onMessageReceived
- 后台应用程序:系统托盘(系统调度自动通知)->有无服务实施(可能是您的情况,没有代码我不知道)
- 前台应用程序:
- 数据电文
- 前台应用程序:
的实现onMessageReceived
- 后台应用程序:
的实现onMessageReceived
- 前台应用程序:
- 包含通知和数据的消息
- 前台应用程序:
的实现onMessageReceived
- 后台应用程序:系统托盘(通知)和额外的意图(数据)
- 前台应用程序:
onMessageReceived
,这是正常的
如果您想“控制”并决定是否显示通知,只需发送数据消息,然后在您的
onMessageReceived
实现中,创建一个包含内容和意图的通知,并通知系统(如果您希望显示该通知)。我可以提供帮助,但您必须提供一些代码,例如,AndroidManifest.xml
中的服务声明。那么您的“通知”呢:是否存在通知消息或同时包含通知和数据负载的消息?