setPeriodic (long intervalMillis)

设置周期。可以保证在每个间隔之间任务最多只执行一次

setPeriodic (long intervalMillis, long flexMillis)

在周期末的一个flex长度的窗口,任务都有可能被执行

setPersisted (boolean isPersisted)

设置设备重启后,这个任务是否还保留。需要RECEIVE_BOOT_COMPLETED权限

setRequiredNetworkType (int networkType)

设置要求的网络,只有接入给定类型的网络才能执行,而且是必须要接入网络才能执行。预置的参数有:

NETWORK_TYPE_NONE

默认值。表示与网络状态无关

NETWORK_TYPE_ANY

必须连接网络

NETWORK_TYPE_NOT_ROAMING

必须连接非漫游的网络

NETWORK_TYPE_UNMETERED

必须连接非计费的网络

setRequiresCharging (boolean requiresCharging)

设置是否需要充电器接入。默认false

setRequiresDeviceIdle (boolean requiresDeviceIdle)

设置是否需要设备处于空闲状态。默认false

空闲状态指设置已经有一段时间没有被使用

addTriggerContentUri (JobInfo.TriggerContentUri uri)

添加一个TriggerContentUri,该Uri将利用ContentObserver来监控一个Content Uri,当且仅当其发生变化时将触发任务的执行

这个功能不能和setPeriodic(long)或者setPersisted(boolean)一起使用, 因为这样是没有意义的,否则在build()时会抛出IllegalArgumentException异常

为了持续监控content的变化,你需要在最近的任务触发后再调度一个新的任务

setTriggerContentMaxDelay (long durationMs)

设置从content变化到任务被执行,中间的最大延迟

setTriggerContentUpdateDelay (long durationMs)

设置从content变化到任务被执行中间的延迟。如果在延迟期间content发生了变化,延迟会重新计算

build()

创建对应的JobInfo

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐