嗨,我已经实现了Android JobScheduler API,它直到最近还在正常工作,但是自从2/3天以来,似乎有一个不一致的行为,在工作是预定的。
这里是作业信息生成器配置:
jobInfo = new JobInfo.Builder(118, new ComponentName(this, LocationJob.class)) .setBackoffCriteria(30000, JobInfo.BACKOFF_POLICY_EXPONENTIAL) .setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY) .setExtras(persistableBundle).build();
jobScheduler.schedule(jobInfo);
基本工作是,当我触发它时,它过去用于立即启动Job类,但现在没有立即启动。
我的JobService类:
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public class LocationJob extends JobService {
private static final String LOG_TAG = LocationJob.class.getSimpleName();
@Override
public boolean onStartJob(final JobParameters params) {
try {
/* doing some server work in another thread. */
} catch (Exception e) {
Log.v(LOG_TAG, e.toString() + " " + e.getMessage() + " " + e
.getCause());
}
return true;
}
@Override
public boolean onStopJob(JobParameters params) {
return false;
}
}我的JobService没有立即触发这是什么样的行为?
发布于 2017-08-31 11:18:02
这是正常的行为。它“在不久的将来”就开始了。在我的应用程序中也是如此。有时候,不是一直都是这样的。
而且,您的需求,如NETWORK_TYPE_ANY,可以在目前没有网络的情况下推迟。
从文档中可以看出:“通常,如果您没有指定任务的截止日期,它可以根据JobScheduler内部队列的当前状态在任何时候运行,但是,它可能会推迟到下次设备连接到电源时。”https://developer.android.com/reference/android/app/job/JobScheduler.html。
https://stackoverflow.com/questions/45980135
复制相似问题