为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

白衣非少年 2019-06-03 15:15:06
Android应用程序从多任务托盘停止时未收到Firebase通知我读过相似问题然而,在这种情况下,我无法从其中得到正确的答案。我有一个系统,我们发送通知给大约500个设备。不幸的是,其中许多设备没有收到通知。我发现oppo F1系列手机特别没有收到通知。我观察到,如果从多任务托盘停止应用程序,就会发生这种情况。我该怎么解决这个问题?最新情况:我观察到,当我从任务托盘关闭应用程序时,我的应用程序会被迫停止在应用程序管理器中。当我从任务托盘上关闭Whatsapp时,它仍然没有被强制停止。那是怎么被Whatsapp处理的?
查看完整描述

4 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

你试过用停止任务属性在您的服务类上?

<service
    android:name="com.yourapp.YourPushService"
    android:stopWithTask="false" />

如果设置为true,则当用户删除根植于应用程序拥有的活动中的任务时,此服务将自动停止。默认值为假。

如果该标志为假,则存在onTaskRemoved在您的服务类中回调。

在这种情况下,您可以检测到“SWRPE”事件,并且可以实现一个解决方案。


查看完整回答
反对 回复 2019-06-03
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

我也经历过同样的事情,但在我的例子中,是小米手机而不是oppo手机。实际发生的情况是,当你从系统托盘关闭应用程序时,系统会完全杀死应用程序。这意味着你的应用程序将无法通过GCM/FCM接收通知。WAKE_LOCK许可也于事无补。

这并不意味着电话没有收到通知。它是。它只是不让应用程序显示出来。您可以通过从亚行发送广播并查看您的日志来验证这一点。

解决这个问题的一个可能的办法是使用SyncAdapter..虽然不建议,但我已经看到一些应用程序使用它。其他可能的解决方案是使用某种总是运行的后台服务。有些人也用AlarmManager因为它几乎永远不会被杀死。我的观点是-您不能依赖GCM/FCM作为通知。

我们现在谈谈WhatsApp吧-

在小米手机中,他们会根据特定的标准列出一个应用程序的白名单或黑名单。如果您下载了一个应用程序,如果它在他们的白名单中,他们将允许应用程序显示通知。如果不是,你已经知道会发生什么了。但好的是你可以改变这些设置。寻找一个名为Security的应用程序。如果撤销正确的权限,即使WhatsApp也将停止显示通知。


查看完整回答
反对 回复 2019-06-03
?
侃侃无极

TA贡献2051条经验 获得超10个赞

我也面临着同样的问题,但经过大量调试后,我意识到,我停止了接收Firebase其中一个活动的停止方法中的通知。

  1. 请检查您是否停止这些服务在应用程序的任何地方。
  2. 确保您使用的是服务而不是意向服务。
  3. 滑动应用程序永远不会停止服务。因此,尝试调试应用程序的前两点。


查看完整回答
反对 回复 2019-06-03
  • 4 回答
  • 0 关注
  • 653 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信