Android 应用程序未启动时处理fcm通知

Android 应用程序未启动时处理fcm通知,android,Android,我正在为我的android应用程序使用fcm推送通知。当应用程序未启动时,我能够在系统托盘上显示推送通知。当我点击通知时,默认情况下会打开应用程序启动程序,并从那里启动一个活动A。但问题是,如果我将应用程序置于后台并单击应用程序图标,它将再次打开应用程序启动器,而不是打开现有的活动A。如果应用程序进程被终止,则启动启动器活动。如果应用程序在后台,您可以将意图传递给通知,该通知启动没有代码的DummyActivity,并立即调用onCreate()方法上的finish()。这将使您的应用程序进入前

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

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

如果应用程序进程被终止,请启动启动程序活动。如果应用程序在后台,您可以将意图传递给通知,该通知启动没有代码的DummyActivity,并立即调用onCreate()方法上的finish()。这将使您的应用程序处于前台。

您的问题中有几点不清楚。例如:如何向firebase后端发送消息(从开发人员控制台或通过RESTAPI post请求)?当推送消息出现时,您希望应用程序的行为是什么?我将试着给你们一个大概的答案,这可能会帮助你们解决这个问题,并理解如何实现期望的行为

在任何情况下,都有两种类型的Firebase推送消息:

  • 数据信息
  • 通知消息
有关它的更多详细信息,请查看

如果您想向正在启动的活动发送其他详细信息(类似于捆绑额外信息),则应使用数据消息并通过覆盖
onMessageReceived(RemoteMessage RemoteMessage)
方法来处理扩展
FirebaseMessagingService
的服务中的信息。这种方法更适合我,因为它更灵活。您可以根据收到的firebase消息定义有关显示通知的所有详细信息,包括通知是否捆绑、用户单击通知时发生的详细情况以及几乎所有相关信息

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

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


希望这对你有所帮助

你的问题中有几点不清楚。例如:如何向firebase后端发送消息(从开发人员控制台或通过RESTAPI post请求)?当推送消息出现时,您希望应用程序的行为是什么?我将试着给你们一个大概的答案,这可能会帮助你们解决这个问题,并理解如何实现期望的行为

在任何情况下,都有两种类型的Firebase推送消息:

  • 数据信息
  • 通知消息
有关它的更多详细信息,请查看

如果您想向正在启动的活动发送其他详细信息(类似于捆绑额外信息),则应使用数据消息并通过覆盖
onMessageReceived(RemoteMessage RemoteMessage)
方法来处理扩展
FirebaseMessagingService
的服务中的信息。这种方法更适合我,因为它更灵活。您可以根据收到的firebase消息定义有关显示通知的所有详细信息,包括通知是否捆绑、用户单击通知时发生的详细情况以及几乎所有相关信息

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

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


希望这对您有所帮助

您是否实现了扩展
FirebaseMessagingService
的定制
服务
?如果没有,请通过@ewoks检查答案您是否实现了扩展
FirebaseMessagingService
的自定义
服务
?如果没有通过@EwoksHi-Ewoks检查答案,我将使用带有通知和数据有效负载的消息,并通过rest api post请求发送消息。我将使用带有通知和数据有效负载的消息,并通过rest api post请求发送消息