새로운 JobScheduler (tatarka에 의한 호환성)로 백그라운드 새로 고침 서비스를 구현하려고합니다. 여기 내 서비스 여기Android JobScheduler는 항상 1 분 동안 작동합니다.
@Override
public boolean onStartJob(JobParameters params) {
Timber.i("on start job: " + params.getJobId());
return true;
}
@Override
public boolean onStopJob(JobParameters params) {
Timber.i("on stop job: " + params.getJobId());
return true;
}
입니다 내 JobInfo 로그에서
public void scheduleJob(View v) {
JobInfo job = new JobInfo.Builder(kJobId++ /*jobid*/, new ComponentName(getActivity(), RefreshJobService.class))
.setPeriodic(2000)
.build();
mTestService.scheduleJob(job);
}
난 내 직업은 항상 일분 12-31 12:38:03.884 10059-10059/@/RefreshJobService﹕ on stop job: 0 12-31 12:39:03.891 10059-10059/@/RefreshJobService﹕ on start job: 0 12-31 12:40:03.911 10059-10059/@/RefreshJobService﹕ on stop job: 0 12-31 12:42:08.841 10059-10059/@/RefreshJobService﹕ on start job: 0 12-31 12:43:08.858 10059-10059/@/RefreshJobService﹕ on stop job: 0
왜 작동 볼? 나는 2000ms로 주기적으로 설정되어있다. 어떤 값이라도 1 분 간격으로 영향을 미치지는 않는다. 왜?
왜 이것이 었는지 알아 냈습니까? – Papajohn000
@ Papajohn000 아니, 그렇지 않았다. – onCreate
여전히 관련성이 있지만 작업 스케줄러의 최소 시간 제한이있을 수 있습니다. 나는 Alarm Manager가 2 분 최소 한계를 가지고 있다는 것을 알고있다. – Papajohn000