作业服务没有第二次执行

时间:2019-01-28 10:02:03

标签: android job-scheduling firebase-job-dispatcher

我正在使用JobScheduler,FirebaseJobDispatcher和JobService计划我的背景图像上传任务。没有互联网连接 如果我一次安排2个作业,则JobService不会被调用两次。

这是我使用JobDispatcher创建工作的地方

Job job = mJobDispatcher.newJobBuilder()
            .setService(WMJobService.class)
            .setTag(WMJobScheduler.Tags.ENTITY_PROFILE_IMAGE_UPLOAD)
            .setRecurring(false)
            .setLifetime(Lifetime.FOREVER)
            .setTrigger(Trigger.NOW)
            .setReplaceCurrent(false)
            .setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL)
            .setConstraints(Constraint.ON_ANY_NETWORK)
            .setExtras(extras)
            .build();
    mJobDispatcher.mustSchedule(job);

这是myJobService类

public class WMJobService extends JobService {

@Override
public boolean onStartJob(JobParameters job) {
    Log.i("Scheduler", "Starting job: " + job.toString());
    String jobTag = WMUtility.getJobTag(job.getTag());
    switch (jobTag) {
        case WMJobScheduler.Tags.ENTITY_PROFILE_IMAGE_UPLOAD:
            new EntityProfileImageUploadJob(getApplicationContext()).execute(job.getExtras(),
                    jobTag, new JobStatusListener() {
                        @Override
                        public void onSuccess() {
                            jobFinished(job, false);
                        }

                        @Override
                        public void onFailure() {
                            jobFinished(job, true);
                        }
                    });
            break;
      }

@Override
public boolean onStopJob(JobParameters job) {
    return true;
}

}

0 个答案:

没有答案