即使关闭应用程序也可以运行作业(Android Oreo)

时间:2018-12-16 17:27:11

标签: java android service background-task

你好,

我已将我的应用升级到Android 8.0及更高版本。但是现在我的后台俯卧撑通知不起作用。

当我使用带有计时器的服务时,我的应用程序运行良好。因此,每4分钟重新加载我的俯卧撑通知数据库。

现在在Android 8.0中,一切似乎都坏了。当我运行一个应用程序并被迫关闭时,有一个例外。

所以,现在我尝试了这个库:https://evernote.github.io/android-job/。我创建了一份定期工作。但是当我关闭应用程序时,工作就消失了。

我的问题是:

  • 在Android 8.0及更高版本中,即使该应用已关闭,如何执行后台任务?也许somone可以给我写一个例子或链接处理该主题的网站?

1 个答案:

答案 0 :(得分:1)

那是因为

  

Android 8.0(API级别26)对应用程序可以执行的操作施加了限制   在后台运行时。

在这种情况下:

  

当应用进入后台时,它会有一个窗口   在几分钟之内仍然可以创建和使用服务。在   在该窗口的末尾,该应用程序被视为处于空闲状态。在这   时间,系统停止了应用的后台服务,就像   应用程序调用了服务的Service.stopSelf()方法。

使用JobScheduler

在这种情况下,文档建议您的应用可以用JobScheduler个工作代替后台服务