当用户杀死他/她的应用程序时,如何使MyfirebaseMessanginService有效。在Android中?

时间:2018-10-14 07:19:20

标签: android firebase

说明:

昨天,我在自己的项目中集成了一个Firebase推送通知,当我将其从Firebase消息传递仪表板发送到特定设备或安装了我的应用程序的设备时,我收到了Notification。 Firebase允许您以两种不同的格式获取消息,一种是使用有效负载,这意味着它是由Firebase仪表板发送的,另一种是用户从特定服务器数据消息发送的。即使我的应用程序位于前台/背景,我也实现了这两种功能或由用户手动杀死。当我发送它时,我的应用程序将弹出通知,提示我的设备带有我需要的必需数据。

有一项服务,即MyFirebaseMessagingSerive,可侦听消息并将此消息推送到设备。当我的应用程序处于前台时,该服务处于活动状态,当我将调试指针放入该服务时,它将调用该调试。但是,当我杀死我的应用程序并发送消息时,我在设备上收到了一个通知弹出窗口,但我的服务是没活着。我在这项服务中执行的导航任务很少,可以根据我在JSON格式的通知数据上接收到的数据来导航用户。

以hotstar应用程序为例。当两个比赛同时发生时。 Ind vs wi和sa vs aus。当比赛开始黑白与黑白时,我独立获得通知。与SA和AUS相同,我会独立获得新通知。当我单击“ ind vs wi”通知时,我重定向了特定的“ ind vs wi”实时比赛屏幕。当我单击sa vs aus时,我将重定向到sa vs aus实时比赛屏幕。我想在我的应用程序中实现此功能。这只是提供给您的示例,可以帮助您更好地理解该问题。

我的要求是我是在前台还是在后台或杀死该应用程序。我该如何实现专门在终止应用程序中有效地管理此服务。

1 个答案:

答案 0 :(得分:0)

根据文档,如果您是通过firebase控制台发送通知的,或者是notification message,如果应用程序是前台的,则onMessageReceived方法将被调用;如果应用程序是后台的,则通知会传递到设备的系统托盘。因此,要解决此问题,您应该尝试向Firebase控制台URL发送这样的JSON:

{
"to" : “/topics/global“,
"data" : {
“key-1" : “value-1“,
“key-2" : “value-2“,
“key-3" : “value-3"
}
}

,即使应用程序是前台还是后台,onMessageReceived方法也会调用。

这里是完整的article,这是一个通过Firebase通知远程控制android设备的项目的example