我开始实现GcmNetworkManager
以在用户恢复其互联网连接时触发同步
在查看OneoffTask的文档时,它说setExecutionWindow是强制性的
但是,我只希望在用户具有Internet时执行此操作,这听起来像可以在用户具有Internet之前但在windowStartDelaySeconds
和windowEndDelaySeconds
窗口中执行。
那么,这是否意味着网络管理员可以在windowEndDelaySeconds
之前的某个时间执行任务,或者是否意味着一旦互联网恢复,它将在该时间执行?
最佳答案
这意味着CGM在注册后,将在windowStartDelaySeconds
和windowEndDelaySeconds
之间的某个点尝试执行,但还要考虑指定的网络状态。
例如,如果您使用.setExecutionWindow(30, 40)
并使用.setRequiredNetwork(Task.NETWORK_STATE_CONNECTED)
,则意味着仅当您已连接到网络时,该任务才会在注册后的30到40秒之间执行。
因此,可以在windowEndDelaySeconds
之前执行它,但它也取决于网络状态。
关于android - 需要GcmNetworkManager OneoffTask ExecutionWindow吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36727787/