JobSheduler复杂的规则

时间:2014-11-26 10:01:00

标签: android android-5.0-lollipop android-jobscheduler

我正在尝试实施一套复杂的,基于时间的规则,用于在Android Lollipop上安排作业。 我需要在数据库中运行System APIbulk insert,因此不应超过2-3秒。我将其称为 JOB1 。 规则是:

  1. 在app启动时运行JOB1(很简单,只需在Application onCreate上运行AsyncTask)。
  2. 每隔约4小时运行JOB1
  3. 仅在最近4小时内未运行时才运行JOB1 [可选 - 即使在应用开始时间也没有]
  4. 正好在23:59(或晚上11:59)运行JOB1,无论规则3如何。
  5. 我不认为JobScheduler的单个实例可以遵循所有这些规则,或者至少我还没有想到它。

    奖金问题:

        JobScheduler jobs = (JobScheduler) getSystemService(JOB_SCHEDULER_SERVICE);
        JobInfo.Builder b = new JobInfo.Builder(SYNC_JOB_ID,
                new ComponentName(this, SyncJobService.class));
        b.setRequiredNetworkType(JobInfo.NETWORK_TYPE_NONE);
        b.setPeriodic(getPeriod(6)) //6 hours
                .setPersisted(true)
        jobs.schedule(b.build());
    

    Application启动时拨打此电话会覆盖之前的通话,或者我会每隔6小时运行JobScheduler个不同的实例吗?

0 个答案:

没有答案