在 Worker类中,我们可以获取与inputData一起发送的值及其键。
⚠️ 限制条件我们可以使用setConstraints()设置一些条件,以便在运行worker之前检查这些条件。
setRequiresDeviceIdle → 如果我们想让它在进入 Doze 模式时工作,我们只需要将其设置为 true。默认值为假。
setRequiresNetworkType → 我们可以设置互联网连接状态。
setRequiresBatteryNotLow → 如果电池电量不低,我们可以设置它的状态。默认值为假。
setRequiresCharging → 插入状态。默认值为假。
⏳Delay延迟部分对于 OneTimeRequest 会起作用一次,对于临时workder也会以同样的方式起作用,但是这种延迟不会在每次触发时起作用。
Worker State Observe我们可以通过状态观察我们在Worker 中所做的过程,有不止一种方法,我们可以在它们之间进行选择。
getWorkInfosByTagLiveData —> getWorkInfosForUniqueWorkLiveData —> getWorkInfoByIdLiveData
本人更偏向使用workRequest的id进行观察,通过将数据分配给Worker中的成功和失败状态,将能够再次接收该数据并对其进行观察。