Android应用在某些情况下带推送通知和后台进程被杀死。

3
我们有一个通过 FCM 和后台服务获取推送通知的 Android 应用程序,即使应用程序不活动也可以正常工作。我们遇到了一些问题,即 Android 操作系统会终止后台服务,并在其他情况下自动关闭我们应用程序的通知(自动关闭我们应用程序的通知)。我们最初怀疑的是 Android 6 及更高版本中引入的 Doze 模式,但我们使用 setAndAllowWhileIdle()方法和AlarmManager来进行进程调度,这应该足以在Doze模式下触发,如此处所述。此外,我们发现在某些设备上,如小米和华为设备,存在推送通知不工作和后台服务不运行的已知问题,并对其进行处理。但问题仍然存在于不同类型的设备和 Android 版本中。您有什么想法造成这种情况吗?谢谢!
1个回答

1
系统有时会在内存不足时杀死服务。
在您的后台服务中,覆盖onStartCommand()并返回START_STICKY作为结果。
它将告诉系统,即使由于低内存而想要终止您的服务,它也应该在内存恢复正常后立即重新创建它。

谢谢!我会检查这个。这能解释推送通知未被接收的事实吗? - אנה ליפשיץ-אגמון
可能吧,我不确定。测试一下然后回复我。 - dustblue

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接