在后台运行doWork()的 a 方法中执行任务时Worker(例如,一个在后台定期运行的 worker 使用PeriodicWorkRequest),我应该显示正在进行的通知吗?如果是这样,我该怎么做?假设我有类似的东西:class NoticeWorker(context: Context, params: WorkerParameters) : Worker(context, params) { override fun doWork(): Result { // do some work here return Result.SUCCESS }}然后执行WorkManager.getInstance().enque(workerObj)
1 回答
狐的传说
TA贡献1804条经验 获得超3个赞
不,在 Android 版本 >= 23(包括 Oreo)上,WorkManager将默认使用JobScheduler来实际排队和执行工作。从JobScheduler文档中,我们看到:
当作业正在运行时,系统会代表您的应用程序持有唤醒锁。因此,您无需采取任何措施来保证设备在作业期间保持唤醒状态。
这个想法是 usingWorkManager允许系统决定何时以及如何在后台做事,这对性能有好处,所以他们试图让我们尽可能简单,所有这些逻辑都被抽象掉了。您只需要指定需要做什么。
添加回答
举报
0/150
提交
取消