gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 13:16:09 27 4
gpt4 key购买 nike

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

我有一个系统,其中我们向大约 500 台设备发送通知。

很遗憾,其中许多设备都没有收到通知。我发现OPPO F1系列手机尤其没有收到通知。

我观察到如果应用程序从多任务托盘停止,就会发生这种情况。我该如何解决这个问题?

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

最佳答案

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

关于滑动关闭/杀死/强制停止的话题,这个话题已经讨论了很长时间,似乎没有一个明确的答案。在我的一项测试中,如果我 滑动关闭我的应用。但是当我从“设置”菜单强制关闭它时,我无法接收任何消息。请注意,这并非始终是这种行为。

有些设备被设计为当您滑动关闭应用程序时,它与强制停止它们相同(参见我的回答 here)。

还有一些设备,即使应用仍然只是简单地刷掉,即使它没有强制关闭,设备本身也会阻止它接收消息。其他人说这不可能,因为像 WhatsApp 这样的应用程序能够做到这一点。到目前为止,我之所以了解到这一点,是因为设备制造商已将大多数知名应用程序列入白名单,以使其成为可能。

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


原答案:

由于它是特定于设备的(正如您在帖子中提到的:OPPO F1 系列手机),当应用程序从多任务托盘中停止时很有可能 em> 在该设备中,它实际上是在杀死应用程序,导致与之关联的服务和其他后台进程也被破坏。看到这个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 通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39504805/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com