的jobscheduler没有开始工作

问题描述:

我做了一个扩展JobService类RefreshService,并在其中我有一个静态方法scheduleJob():的jobscheduler没有开始工作

public static void scheduleJob(final Context context) { 
    final JobScheduler jobScheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE); 
    final ComponentName refreshService = new ComponentName(context, RefreshService.class); 

    final JobInfo.Builder jobBuilder = new JobInfo.Builder(1002, refreshService); 
    jobBuilder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY); 
    jobBuilder.setRequiresDeviceIdle(false); 
    jobBuilder.setRequiresCharging(false); 
    jobBuilder.setMinimumLatency(5000L); 
    jobBuilder.setOverrideDeadline(10000L); 

    final JobInfo job = jobBuilder.build(); 
    jobScheduler.schedule(job); 
} 

而在我的Android清单我把这个:

​​

我已经用JobService扩展了我的类,它具有onStartJob和onStopJob这些重写方法,onStartJob方法没有被调用。

有什么我错过了吗?

jobBuilder.setMinimumLatency(5000L); 
jobBuilder.setOverrideDeadline(5000L); // same value = expires right away? 

他们是一样的:一旦你的工作可以处理,它会到期。可能使OverrideDeadline的两倍大将解决它。

+0

我的不好,它应该是10000L的setOverrideDeadline。我会编辑我的问题。问题仍然存在,但 – Quorrin

+0

好吧,那么我将无法帮助你。我正在使用FirebaseJobDispatcher,因为我需要支持较旧的Android版本 – Frank