在后台运行的doWork()
的{{1}}方法中执行任务时(例如,使用Worker
在后台定期运行的工作程序),我应该显示正在进行的通知?如果是这样,我该怎么做?假设我有类似的东西:
PeriodicWorkRequest
然后用
执行class NoticeWorker(context: Context, params: WorkerParameters)
: Worker(context, params) {
override fun doWork(): Result {
// do some work here
return Result.SUCCESS
}
}
答案 0 :(得分:1)
否,在Android版本> = 23(包括Oreo)上,WorkManager
将默认使用JobScheduler
来实际入队并执行工作。从JobScheduler文档中,我们看到:
在运行作业时,系统代表您的应用程序持有唤醒锁。因此,您无需采取任何措施来保证设备在工作期间保持清醒状态。
这个想法是,使用WorkManager
可以让系统决定何时以及如何在后台执行操作,这对性能有好处,因此他们正努力使我们和所有人都尽可能地容易这个逻辑的一部分被抽象掉了。您只需要指定需要做什么。