我在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通知所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)