当用户恢复互联网连接时,我开始实现GcmNetworkManager
来触发同步。
当查看OneoffTask的文档时,它说setExecutionWindow是强制性的。
创建一次性任务的强制设置程序。
不过,我只想在用户有互联网时执行,听起来好像在用户有互联网之前就可以执行,而是在windowStartDelaySeconds
和windowEndDelaySeconds
的窗口中执行。
那么,这是否意味着网络管理器可以在windowEndDelaySeconds
之前执行任务,还是意味着一旦恢复了internet,它就会在那个时候执行?
发布于 2017-07-31 18:31:36
这意味着CGM将尝试在注册后在windowStartDelaySeconds
和windowEndDelaySeconds
之间的某个点执行,但也要考虑到指定的网络状态。
例如,如果使用.setExecutionWindow(30, 40)
并使用.setRequiredNetwork(Task.NETWORK_STATE_CONNECTED)
,这意味着只有连接到网络的才会在注册后的某个时间点执行任务。
所以是的,它可以在windowEndDelaySeconds
之前执行,但是它也取决于网络状态。
https://stackoverflow.com/questions/36727787
复制相似问题