当应用程序从多任务托盘停止时,Android应用程序未收到Firebase通知

当应用程序从多任务托盘停止时,Android应用程序未收到Firebase通知,第1张

概述我在SO上读了similarquestion,但是,我无法从中得到正确的答案.我有一个系统,我们向大约500个设备发送通知.不幸的是,许多这些设备没有收到通知.我发现OPPOF1系列手机特别没有收到通知.我发现,如果应用程序从多任务托盘停止,则会发生这种情况.我该如何解决这个问题?更新:我观

我在SO上读了similar question,但是,我无法从中得到正确的答案.

我有一个系统,我们向大约500个设备发送通知.

不幸的是,许多这些设备没有收到通知.我发现OPPO F1系列手机特别没有收到通知.

我发现,如果应用程序从多任务托盘中停止,则会发生这种情况.我该如何解决这个问题?

更新:我观察到当我从任务托盘关闭应用程序时,我的应用程序被强制停在应用程序管理器中.当我从任务托盘关闭Whatsapp时,仍然没有强制停止.怎么被Whatsapp处理?

解决方法:

更新03/2017 – 包括我的答案here的一部分.

关于刷卡关闭/杀死/强制停止的主题,这个主题已经讨论了很长一段时间,似乎没有明确的答案.在我的一次测试中,如果我轻扫关闭我的应用程序,我仍然能够收到一条消息(使用仅数据消息有效负载进行测试).但是当我从“设置”菜单强制关闭它时,我无法接收任何消息.请注意,这并不总是行为.

有一些设计是在您轻扫关闭应用程序时设计的,它将与强制停止它们相同(请参阅我的答案here).

还有一些设备,即使应用程序仍然只是被轻扫一下,即使它没有强行关闭,设备本身也会阻止它接收消息.其他人则认为情况并非如此,因为像WhatsApp这样的应用程序能够做到这一点.到目前为止,我之所以学到这一点,是因为设备制造商已将大多数知名应用程序列入白名单.

这在任何地方都没有记录,因为(IMO),这是一个主题,也取决于设备和FCM无法完全控制.

原答案:

由于它是特定于设备的(正如您在帖子中提到的那样:OPPO F1系列手机),当应用程序从该设备中的多任务托盘停止时,它实际上可能会杀死该应用程序,导致服务和与其相关的其他后台进程也将被销毁.请参阅此answer,了解我想说的内容.

如果您在社区中搜索,这里通常建议使用START_STICKY标志.但是,我已经看到之前提到的FirebaseMessagingService(参见post,@ ArthurThompson的评论):

These services will be started by Google Play services, which is always running on the device. You don’t have to and should not start/stop these services yourself.

话虽如此,也有可能(再次来自评论):

There may be a setting on the device that allows/disallows this.

我建议进一步测试服务是否被设备本身杀死,或者是否有设置阻止通知.

总结

以上是内存溢出为你收集整理的当应用程序从多任务托盘停止时,Android应用程序未收到Firebase通知全部内容,希望文章能够帮你解决当应用程序从多任务托盘停止时,Android应用程序未收到Firebase通知所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1104556.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存