Java 在Oreo及更高版本中使用WorkManager时是否应显示持续通知?

Java 在Oreo及更高版本中使用WorkManager时是否应显示持续通知?,java,android,kotlin,android-workmanager,Java,Android,Kotlin,Android Workmanager,在后台运行的工作者的doWork()方法中执行任务时(例如,使用PeriodicWorkRequest在后台定期运行的工作者),我是否应该显示正在进行的通知?如果是,我该怎么做?比如说,我有一些类似于: class NoticeWorker(context: Context, params: WorkerParameters) : Worker(context, params) { override fun doWork(): Result { // do so

在后台运行的
工作者
doWork()
方法中执行任务时(例如,使用
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)

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

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


其思想是,使用
WorkManager
可以让系统决定何时以及如何在后台进行操作,这对性能有好处,因此他们试图让我们尽可能地轻松,所有这些逻辑都被抽象掉了。您只需指定需要执行的操作。

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

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


其思想是,使用
WorkManager
可以让系统决定何时以及如何在后台进行操作,这对性能有好处,因此他们试图让我们尽可能地轻松,所有这些逻辑都被抽象掉了。您只需指定需要执行的操作。

是的,我已经知道了。把你的答案标记为接受。是的,我已经知道了。将你的答案标记为已接受。