【问题标题】:Firebase notification works even with no service or inherited class?即使没有服务或继承类,Firebase 通知也能正常工作?
【发布时间】:2017-07-10 14:09:38
【问题描述】:

我在我的应用程序中实现了 firebase 以使用它的通知服务,并且它工作了,今天决定使用它的键/值功能,但我意识到无论我在继承自 FirebaseMessagingService 的类中写什么,都没有发生。所以我决定删除我的课程以进行调试,但我仍然收到通知。所以我从清单中删除了 firebase 消息服务,删除了应用程序缓存并运行了项目,但我仍然收到通知!我可以阻止通知到来的唯一方法是删除 gradle 中的 firebase 依赖项。这里发生了什么?

【问题讨论】:

  • 我可以帮忙,但您必须提供一些代码,例如您在AndroidManifest.xml 中的服务声明。那么您的“通知”呢:是否有通知消息或同时包含通知和数据负载的消息?

标签: android firebase firebase-notifications


【解决方案1】:

只需read the documentation

...

好的,我们开始吧:使用 Firebase 的“通知”分为三种:通知消息数据消息同时包含通知和数据的消息时间>。每个都由系统以不同方式接收和处理。 Here你可以看到更多关于消息类型的信息(如何构建)。

有这样处理的:

  • 通知消息
    • 前台应用:onMessageReceived 的实现
    • 后台应用:系统托盘(系统调度自动通知)-> 有或没有服务实现(可能是你的情况,没有代码我不知道)
  • 数据信息
    • 前台应用:onMessageReceived 的实现
    • 后台应用:onMessageReceived 的实现
  • 包含通知和数据的消息
    • 前台应用:onMessageReceived 的实现
    • 后台应用:系统托盘(通知)和附加意图(数据)

但是没有任何代码或通知信息,我无法继续为您提供帮助。在你提供一些代码示例之前,我只认为你发送了一个通知消息,所以系统自动显示一个通知并且没有调用服务的onMessageReceived,这是正常的。

如果您想“控制”并决定是否应该显示通知,只需发送数据消息,然后在您的onMessageReceived 实现中,创建一个包含内容和意图的通知并通知它给系统(如果你想显示它)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-23
    • 2021-01-22
    • 1970-01-01
    • 2017-07-17
    • 2021-05-23
    • 2020-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多