Android作业调度器:在数据网络存在时执行作业
我正在使用作业计划程序服务计划作业。我的作业开始的条件是任何Android作业调度器:在数据网络存在时执行作业,android,android-jobscheduler,Android,Android Jobscheduler,我正在使用作业计划程序服务计划作业。我的作业开始的条件是任何网络可用(setRequiredNetworkType(JobInfo.network\u TYPE\u any))。 第一次,我根据用户输入(比如:单击按钮)安排作业,所以当用户单击按钮时,一旦网络可用,我的作业将启动 我的问题是,我的工作应该在没有用户输入的情况下启动。这可能吗?如果是,请建议 (我不想侦听网络更改侦听器。因为从Android N开始,它有一些限制)是的,这在JobInfo.Builder中是可能的。请查看 并且可以
网络可用(setRequiredNetworkType(JobInfo.network\u TYPE\u any))
。
第一次,我根据用户输入(比如:单击按钮)安排作业,所以当用户单击按钮时,一旦网络可用,我的作业将启动我的问题是,我的工作应该在没有用户输入的情况下启动。这可能吗?如果是,请建议
(我不想侦听网络更改侦听器。因为从Android N开始,它有一些限制)是的,这在JobInfo.Builder中是可能的。请查看
并且可以与结合使用是的,这在JobInfo中是可能的。Builder查看
并且可以与结合使用。是的,您可以在builder中设置 退让标准 每当计划的作业因不满足约束而停止时,它将继续尝试
builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
builder.setPeriodic(TimeUnit.DAYS.toMillis(1));
builder.setBackoffCriteria(1000, JobInfo.BACKOFF_POLICY_EXPONENTIAL);
是的,您可以在生成器中设置 退让标准 每当计划的作业因不满足约束而停止时,它将继续尝试
builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
builder.setPeriodic(TimeUnit.DAYS.toMillis(1));
builder.setBackoffCriteria(1000, JobInfo.BACKOFF_POLICY_EXPONENTIAL);
据我所知,setPeriodic将在特定时间后执行工作,而不是在网络可用时立即执行。我需要在网络可用时立即执行任务。将其与setMinimumLatency(long minLatencyMillis)结合使用如何?这是执行任务之前必须经过的最短时间。我想只要没有网络,它就不会被执行。一旦网络恢复,并且分钟时间已经过去,它将执行它吗?然后在jobFinished中重新安排它?在网络可用时更新特定任务的任何更新!。。。据我所知,setPeriodic将在特定时间后执行工作,而不是在网络可用时立即执行。我需要在网络可用时立即执行任务。将其与setMinimumLatency(long minLatencyMillis)结合使用如何?这是执行任务之前必须经过的最短时间。我想只要没有网络,它就不会被执行。一旦网络恢复,并且分钟时间已经过去,它将执行它吗?然后在jobFinished中重新安排它?在网络可用时更新特定任务的任何更新!。。。