猿问

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

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

我读过相似问题然而,在这种情况下,我无法从其中得到正确的答案。

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

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

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

最新情况:我观察到,当我从任务托盘关闭应用程序时,我的应用程序会被迫停止在应用程序管理器中。当我从任务托盘上关闭Whatsapp时,它仍然没有被强制停止。那是怎么被Whatsapp处理的?


白衣非少年
浏览 654回答 4
4回答

一只斗牛犬

你试过用停止任务属性在您的服务类上?<service &nbsp;&nbsp;&nbsp;&nbsp;android:name="com.yourapp.YourPushService" &nbsp;&nbsp;&nbsp;&nbsp;android:stopWithTask="false"&nbsp;/>如果设置为true,则当用户删除根植于应用程序拥有的活动中的任务时,此服务将自动停止。默认值为假。如果该标志为假,则存在onTaskRemoved在您的服务类中回调。在这种情况下,您可以检测到“SWRPE”事件,并且可以实现一个解决方案。

婷婷同学_

我也经历过同样的事情,但在我的例子中,是小米手机而不是oppo手机。实际发生的情况是,当你从系统托盘关闭应用程序时,系统会完全杀死应用程序。这意味着你的应用程序将无法通过GCM/FCM接收通知。WAKE_LOCK许可也于事无补。这并不意味着电话没有收到通知。它是。它只是不让应用程序显示出来。您可以通过从亚行发送广播并查看您的日志来验证这一点。解决这个问题的一个可能的办法是使用SyncAdapter..虽然不建议,但我已经看到一些应用程序使用它。其他可能的解决方案是使用某种总是运行的后台服务。有些人也用AlarmManager因为它几乎永远不会被杀死。我的观点是-您不能依赖GCM/FCM作为通知。我们现在谈谈WhatsApp吧-在小米手机中,他们会根据特定的标准列出一个应用程序的白名单或黑名单。如果您下载了一个应用程序,如果它在他们的白名单中,他们将允许应用程序显示通知。如果不是,你已经知道会发生什么了。但好的是你可以改变这些设置。寻找一个名为Security的应用程序。如果撤销正确的权限,即使WhatsApp也将停止显示通知。

侃侃无极

我也面临着同样的问题,但经过大量调试后,我意识到,我停止了接收Firebase其中一个活动的停止方法中的通知。请检查您是否停止这些服务在应用程序的任何地方。确保您使用的是服务而不是意向服务。滑动应用程序永远不会停止服务。因此,尝试调试应用程序的前两点。
随时随地看视频慕课网APP

相关分类

Android
我要回答