luc*_*ino 8 jobs android scheduling task android-jobscheduler
我在新的Android API 21中使用JobScheduler的作业计划有问题.这是我用60秒间隔调度作业的代码,如下所示:
ComponentName serviceName = new ComponentName(this, MyJobService.class);
JobInfo jobInfo = new JobInfo.Builder(0, serviceName)
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
.setPeriodic(60000)
.build();
Run Code Online (Sandbox Code Playgroud)
我的JobService只在Logcat中打印运行时,但是日志显示服务在这个时刻运行:
03-18 08:37:26.334: I/JOB(32662): Wed Mar 18 08:37:26 BRT 2015
03-18 08:37:56.364: I/JOB(32662): Wed Mar 18 08:37:56 BRT 2015
03-18 08:39:21.418: I/JOB(32662): Wed Mar 18 08:39:21 BRT 2015
03-18 08:41:51.670: I/JOB(32662): Wed Mar 18 08:41:51 BRT 2015
03-18 08:45:52.192: I/JOB(32662): Wed Mar 18 08:45:52 BRT 2015
03-18 08:54:20.678: I/JOB(32662): Wed Mar 18 08:54:20 BRT 2015
Run Code Online (Sandbox Code Playgroud)
这很奇怪,因为我用setPeriodic(60000)方法设置它应该在1分钟内执行至少1次.同样好奇的是如何在运行之间增加间隔.此时的时间是2015年3月18日星期三09:09:00 BRT 2015并且工作不会被执行更多.
这是JobScheduler API的问题吗?(我在Android 5.0.1的Nexus 5中运行)
我有同样的问题,我认为它可能与JobInfo类的内部要求有关:
/* Minimum interval for a periodic job, in milliseconds. */
private static final long MIN_PERIOD_MILLIS = 15 * 60 * 1000L; // 15 minutes
Run Code Online (Sandbox Code Playgroud)
看起来JobInfo似乎不允许您将间隔设置得小于此值.
归档时间: |
|
查看次数: |
6403 次 |
最近记录: |