【问题标题】:Handling fcm notification when app not launched应用未启动时处理 fcm 通知
【发布时间】:2016-10-10 07:12:27
【问题描述】:

我正在为我的 android 应用程序使用 fcm 推送通知。当应用程序未启动时,我能够在系统托盘上显示推送通知。当我点击通知时,它默认打开应用程序启动器,然后我从那里启动一个活动 A。但问题是,如果我将应用置于后台并单击应用图标,它会再次打开应用启动器,而不是打开现有的 Activity A。

【问题讨论】:

  • 您是否实现了自定义service 扩展FirebaseMessagingService?如果没有检查@Ewoks 的答案

标签: android


【解决方案1】:

如果应用进程被终止,则启动启动器活动。如果应用程序在后台,您可以向通知传递一个意图,该通知启动一个没有代码的 DummyActivity,并立即在其 onCreate() 方法上调用 finish()。这会将您的应用带到前台。

【讨论】:

    【解决方案2】:

    您的问题有几处不清楚。例如:您如何发送消息(从开发人员控制台或通过 rest api 发布请求到 firebase 后端)?当推送消息到来时,您希望应用程序的行为是什么?我将尝试为您提供一般性答案,这可能有助于您解决问题并了解如何实现所需的行为。

    无论如何,Firebase 推送消息有两种类型:

    • 数据消息
    • 通知消息

    更多详情请查看Notification & data messages page

    如果您想向您正在开始的活动发送更多详细信息(类似于捆绑附加服务),您应该使用 数据消息 并通过覆盖 @ 来处理您的服务中扩展 FirebaseMessagingService 的信息987654324@ 方法。这种方法对我来说更可取,因为它更灵活。您可以根据收到的 firebase 消息定义有关显示通知的所有详细信息,包括通知是否捆绑、用户单击通知时发生的详细信息以及与之相关的几乎所有内容。

    如果您不需要使用某些参数启动某些活动,则可以使用推送消息并只需定义 click_action。此方法允许您添加定义的标题、文本和通知声音(除了一些其他细节),但它不像您发送数据消息那样灵活

    Here您可以找到可用于不同类型消息的可能参数的详细概述

    希望对你有帮助

    【讨论】:

    • 嗨 Ewoks,我正在使用带有通知和数据有效负载的消息,并通过 rest api 发布请求发送
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 2017-07-17
    • 2021-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多