Android-即使应用程序被关闭或设备重新启动,也要在后台运行服务

Android-即使应用程序被关闭或设备重新启动,也要在后台运行服务,android,service,broadcastreceiver,Android,Service,Broadcastreceiver,我想让一个服务在后台运行,即使我的应用程序被终止。我使用的是android.intent.action.USER\u PRESENT事件,但该服务仅在屏幕解锁时运行。我尝试了android.intent.action.BOOT\u,但它需要在下载应用程序后重新启动手机至少一次 理想情况下,我会在X分钟内启动我的服务,例如使用动作\u时间\u勾选。然后在开始服务前检查条件(电池电量、网络连接…) 问题是这样的事件不能在manifest.xml中声明和侦听,而是在活动中声明和侦听,这意味着应用程序处

我想让一个服务在后台运行,即使我的应用程序被终止。我使用的是
android.intent.action.USER\u PRESENT
事件,但该服务仅在屏幕解锁时运行。我尝试了
android.intent.action.BOOT\u,但它需要在下载应用程序后重新启动手机至少一次

理想情况下,我会在X分钟内启动我的服务,例如使用
动作\u时间\u勾选
。然后在开始服务前检查条件(电池电量、网络连接…)

问题是这样的事件不能在
manifest.xml
中声明和侦听,而是在活动中声明和侦听,这意味着应用程序处于“活动”状态

有什么方法可以实现我想要的吗?

采取一种方法,你可以使用它来确保你的服务处于活动状态,如果没有,根据需要启动/重新启动

您可以在安装后第一次打开应用程序时注册AlarmManager。从那时起,假设用户重新启动,使用另一个(第二个)引导服务向
AlarmManager
注册您的服务,该服务监听
android.intent.action.BOOT\u已完成

可能还有其他原因,以及您在后台服务中所做的工作量/种类


AlarmManager
可以持续确保您的后台服务是健康的。

试试这个,谢谢您的评论,但似乎也需要从活动中设置AlarmManager。因此,您希望在用户安装apk后立即启动后台服务,但理想情况下不启动/打开应用程序(目前还没有杀戮),对我不介意用户是否必须至少启动一次应用程序,但我希望定期在后台启动该服务,即使该服务被终止,就像我在用户_被打开一次时所做的那样,但在重新启动时,您希望它自动启动,而无需任何其他操作或进一步打开。是的,我知道不建议这样做,但我愿意这样做。