JobScheduler:setperiodic + setRequiredNetworkType

时间:2017-07-29 15:19:37

标签: android android-jobscheduler

当我使用setPeriodicsetRequiredNetworkType时,如果在句号结尾处没有RequiredNetworkType,该怎么办?任何情况下任务都会运行,否则会延迟?我的意思是如果它们是WIFI连接,我希望每30分钟运行一次,否则在一小时后使用任何可用的连接。

怎么做?

1 个答案:

答案 0 :(得分:0)

根据JobInfo.Builder.setRequiredNetworkType的文档,如果所需的网络类型不可用,则该作业将永远不会运行。我认为没有任何回调可以告诉您它没有运行。

因此,对于您的情况,我建议您进行两项工作,一项仅限于WiFi,一项针对任何网络类型。如果WiFi作业运行,它可能会记录其状态,可能是通过存储其在首选项中运行的时间来记录,并且在任何网络作业运行时,它将检查上一次WiFi作业运行的首选项,并且仅当WiFi作业在过去一个小时没有工作。