Scheduling a periodic job

So far, we have scheduled one-shot jobs, but do you know there is an option to schedule the execution of a job at periodic internals. These kinds of jobs might be the perfect construct to performing repeating backups or repeating network operations such as application user data backup.

Let's update our AccountInfoActivity to schedule the periodic execution of the account synchronization job.

We'll start by defining a new job identifier for our periodic job:

static final int SYNC_PER_JOB_ID = "SyncJobPerService".hashCode();

We can schedule a periodic job to be executed approximately every 12 hours like this:

JobInfo.Builder builder = new JobInfo.Builder(SYNC_PER_JOB_ID, serviceName); builder.setRequiresDeviceIdle(true) // Persist ...

Get Asynchronous Android Programming - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.