如何保持Service在Oreo上运行?

时间:2019-05-28 08:13:47

标签: android service background-task

在最新版本的android上,我需要在后台不断进行操作。 我使用过服务,但在上一个版本的android系统(如oreo)中,有8个服务已被杀死。

由于应用程序的特性,我不能使用前台服务。

如何使我的服务继续运行?

请帮助我解决此问题。谢谢。

1 个答案:

答案 0 :(得分:0)

尝试使用Worker。只需请求定期工作(不少于15分钟)以检查Service是否正在运行-如果没有运行,请重新启动。

There是文档。

如果您需要更快地运行它,则在15分钟后。您可以使用2个工作人员(oneTimeWorkRequest)进行相互调用。

此外,我发现某些设备(例如HUAWEI)具有称为“功耗密集型应用程序监视器”的功能。除非用户为其授予特殊权限,否则它将杀死长时间在后台运行的每个应用程序。执行此操作的路径:设置->电池->设置->取消选中:耗电的提示。

我不知道有没有办法以编程方式执行此操作。我认为最好的方法是创建一种帮助活动,并在应用程序无法正常工作时向用户说明如何做。