为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

德玛西亚99 2021-09-29 17:49:08
在后台运行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允许系统决定何时以及如何在后台做事,这对性能有好处,所以他们试图让我们尽可能简单,所有这些逻辑都被抽象掉了。您只需要指定需要做什么。


查看完整回答
反对 回复 2021-09-29
  • 1 回答
  • 0 关注
  • 176 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信