gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 05:11:24 25 4
gpt4 key购买 nike

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

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

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

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

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

最佳答案

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

关于swipe closed/killed/force stopped的话题,这个话题已经讨论了很长时间了,似乎没有一个确定的答案。在我的一项测试中,如果我 我能够仍然收到一条消息(使用数据测试-消息负载)轻扫关闭我的应用程序。但是当我从“设置”菜单强制关闭它时,我无法接收任何消息。请注意,这总是这种行为。

有些设备被设计为当您滑动关闭应用程序时,它与强制停止它们相同(参见我的回答 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/53677955/

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