0

在我们的应用程序中,我们有定期同步任务。所以我们实现了作业调度器来触发每个同步间隔。当作业被解雇时,我们正在启动一个意图服务并且该作业被终止。Intent 服务从互联网/服务器启动第 3 方同步

问题:

  1. 这种设计适合奥利奥和牛轧糖吗?

  2. 如果意图服务需要几分钟才能完成,系统会允许吗?

参考:中链接

4

1 回答 1

0

如果您的工作意图服务依赖于网络限制,您需要设置setRequiredNetworkType,因为在 oreo 开发中针对工作调度程序进行了一些新的更改,您应该根据您的流程选择该部分,请考虑到

调用setRequiredNetworkType将网络定义为您的工作的严格要求。如果请求的网络不可用,您的作业将永远不会运行。请参阅 setOverrideDeadline(long) 以更改此行为。调用此方法将覆盖之前由 setRequiredNetwork(NetworkRequest); 定义的任何要求;您通常只想调用其中一种方法。

当您的作业在 onStartJob(JobParameters) 中执行时,请务必使用 getNetwork() 返回的特定网络,否则您将使用可能不符合此约束的默认网络。

有关更多详细信息,请访问上述答案的来源https://developer.android.com/reference/android/app/job/JobInfo.Builder.html#setRequiredNetwork(android.net.NetworkRequest)

于 2018-04-05T04:53:34.127 回答