当前位置: 首页 > 知识库问答 >
问题:

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

翟棋
2023-03-14

我想保持一个服务在后台运行,即使当我的应用程序被杀死。我使用的是android.intent.action.user_present事件,但服务只在屏幕解锁时运行。我尝试了Android.intent.action.boot_completed,但下载应用程序后至少需要重新启动手机一次。

理想情况下,我将使用action_time_tick启动服务所有X分钟。然后检查条件(电池电量、网络连接……)在开始服务之前。

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

有办法做我想做的事吗?

共有1个答案

任长卿
2023-03-14

查看AlarmManager,您可以使用它来确保您的服务处于正常运行状态,如果不是,则根据需要启动/重新启动。

您可以在应用程序安装后第一次打开时注册AlarmManager。从那时起,假设用户重新启动,则使用另一个(第二个)侦听Android.intent.action.boot_completed的引导服务向AlarmManager注册服务。

设备Hibernate可能还有其他考虑因素,以及您在后台服务中所做的工作量/类型,请看看这个库和注释

 类似资料: