在 Oreo 及更高版本中使用 WorkManager 时,我应该显示持续通知吗?

在后台运行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)


德玛西亚99
浏览 177回答 1
1回答

狐的传说

不,在 Android 版本 >= 23(包括 Oreo)上,WorkManager将默认使用JobScheduler来实际排队和执行工作。从JobScheduler文档中,我们看到:当作业正在运行时,系统会代表您的应用程序持有唤醒锁。因此,您无需采取任何措施来保证设备在作业期间保持唤醒状态。这个想法是 usingWorkManager允许系统决定何时以及如何在后台做事,这对性能有好处,所以他们试图让我们尽可能简单,所有这些逻辑都被抽象掉了。您只需要指定需要做什么。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java