Android JobScheduler无效

时间:2017-10-11 12:43:50

标签: android job-scheduling

我在Android应用中实现了作业调度程序。为此,我应用框架JobScheduler。

JobScheduler jobScheduler = (JobScheduler)getSystemService(JOB_SCHEDULER_SERVICE);
    ComponentName jobService =
            new ComponentName(getBaseContext(), ServiceAppControl.class);
    JobInfo jobInfo =
            new JobInfo.Builder(MYJOBID, jobService)
                    .setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED)
                    .setPeriodic(100)
                    .setPersisted(true)
                    .build();
    jobScheduler.schedule(jobInfo);

的manifest.xml

<service
        android:name=".services.ServiceAppControl"
        android:permission="android.permission.BIND_JOB_SERVICE"
        android:exported="true"/>

ServiceAppControl

public class ServiceAppControl extends JobService {

@Override
public boolean onStartJob(JobParameters params) {
    Log.d("Control", "onStartJob");
    return false;
}

@Override
public boolean onStopJob(JobParameters params) {
    return false;
}
}

我做的一切都正确吗?记录仅在大约10分钟内执行一次。

--- --- EDIT

我在logcat中找到了这样的条目。这可能意味着什么?

10-12 13:40:48.324 24072-24072 / ru.test.testjobscheduler W / JobInfo:1001的指定间隔为+ 1s0ms。钳位到+ 15m0s0ms 10-12 13:40:48.324 24072-24072 / ru.test.testjobscheduler W / JobInfo:1001的指定flex为+ 1s0ms。钳位到+ 5m0s0ms

1 个答案:

答案 0 :(得分:0)

JobScheduler的最小周期为15分钟 更改为.setPeriodic(15 * 60 * 1000)