在Oreo及更高版本中使用WorkManager时,我应该显示正在进行的通知吗?

时间:2018-09-20 16:45:22

标签: java android kotlin android-workmanager

在后台运行的doWork()的{​​{1}}方法中执行任务时(例如,使用Worker在后​​台定期运行的工作程序),我应该显示正在进行的通知?如果是这样,我该怎么做?假设我有类似的东西:

PeriodicWorkRequest

然后用

执行
class NoticeWorker(context: Context, params: WorkerParameters)
    : Worker(context, params) {

    override fun doWork(): Result {
        // do some work here
        return Result.SUCCESS
    }

}

1 个答案:

答案 0 :(得分:1)

否,在Android版本> = 23(包括Oreo)上,WorkManager将默认使用JobScheduler来实际入队并执行工作。从JobScheduler文档中,我们看到:

  

在运行作业时,系统代表您的应用程序持有唤醒锁。因此,您无需采取任何措施来保证设备在工作期间保持清醒状态。

这个想法是,使用WorkManager可以让系统决定何时以及如何在后台执行操作,这对性能有好处,因此他们正努力使我们和所有人都尽可能地容易这个逻辑的一部分被抽象掉了。您只需要指定需要做什么。