当除前台服务以外的所有服务在一段时间后关闭时,如何在 android 中实现后台通知服务?

How does one implement a background notification service in android when all services except for foreground ones get shut down after some time?

我很想提供后台通知服务(实时),但找不到让它工作的方法,因为后台服务被系统停止,当我从接收器重新启动它们时,我收到错误消息.

我看到其他应用程序有它,但我检查了 运行 服务,他们那里没有任何服务。您认为他们会每隔很短的时间检查一次新通知吗?

任何建议都会有所帮助。

你有两个选择:

1:前台服务。

您可以无限期地保留服务 运行,方法是将您的服务提升为 "foreground service"。您只能通过将服务的通知添加到通知区域来成为前台服务。大概是允许用户让您的服务消失的一种。参见 Service.setForeground

  1. 定期使用 WorkManagerAlarmManager
  2. 进行投票

这些 API 允许您在有活动的互联网连接时安排定期工作。基本思想是每隔几分钟轮询一次,看看是否有事情要做。

没有其他选择。这是设计使然。在不显示通知的情况下,没有办法一直潜伏在后台。 Android OS 开发人员投入了大量工作来确保没有其他方法。