的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的两倍大将解决它。
我的不好,它应该是10000L的setOverrideDeadline。我会编辑我的问题。问题仍然存在,但 – Quorrin
好吧,那么我将无法帮助你。我正在使用FirebaseJobDispatcher,因为我需要支持较旧的Android版本 – Frank