android - Job Scheduler 在 Android 7.0 (Nougat) 中不定期重复出现

标签 android android-7.0-nougat

作业没有在给定时间触发...它延迟...延迟...延迟时间增加。我的要求是在 Android 7.0 及更高版本中使用 Job Scheduler 每 10 分钟执行一次作业。 这是我的代码 fragment

private static long Scheduler_Interval = 5 * DateUtils.MINUTE_IN_MILLIS;

JobScheduler mJobScheduler mJobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE);

            JobInfo.Builder builder = new JobInfo.Builder(1, new ComponentName(getPackageName(), JobSchedulerService.class.getName()));
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                builder.setPeriodic(Scheduler_Interval, 1 * DateUtils.MINUTE_IN_MILLIS);
            }
            builder.setRequiresDeviceIdle(false);

            if (mJobScheduler.schedule(builder.build()) <= 0) {
                ShowToast("Some error while scheduling the job");
            }


public class JobSchedulerService extends JobService {
 @Override
  public boolean onStartJob(JobParameters jobParameters) {
      writeToTestLogFile(GetSavedDateFromLocationProvider()+ "|onStartJob");
      return false;
  }

  @Override
  public boolean onStopJob(JobParameters jobParameters) {
      writeToTestLogFile(GetSavedDateFromLocationProvider()+ "|onStopJob");
     return false;
  }

}

最佳答案

在 Android N(牛轧糖)中,最小周期间隔为 15 分钟。将间隔设置为 15 分钟,然后代码将起作用。

同时设置

jobFinished(parameters, false);

关于android - Job Scheduler 在 Android 7.0 (Nougat) 中不定期重复出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45736914/

相关文章:

android - 谷歌地图中ZoomTo和ZoomBy有什么区别

android - AdMob 导致 : unable to get provider com. google.android.gms.ads.MobileAdsInitProvider : java. lang.ClassNotFoundException

android - 自定义 ArrayAdapter 的 getView 中的 Nullpointerexception

android - Apk 无法在 Android N 上安装,出现 INSTALL_FAILED_INVALID_APK 错误

Android 矢量可绘制用于 Android N 上的启动器图标和其他图像

android - 从网页安装apk

android - 在 android ListView 中播放暂停切换

java - 处理显示尺寸变化

java - 从 Marshmallow 升级到 Nougat 后,Android 方法性能突然变慢

android - 如何通过 NotificationListener 使用 Android Nougat 的直接回复功能?