Scheduling a job
With the criteria already defined and the JobInfo
object, we have all the entities required to set up the job for our application. So now let's show you how to create a job with a real example.
Our example will synchronize the user account information stored in a device file with an HTTP web service over a job scheduled using the Scheduler API. The user interface will provide us a UI where we can update the user information, a button to save the information on an internal file, and a button to set up the synchronization job that will upload the account information to the web service.
First, let's start by defining our job pre-requisites and parameters:
Our job should only run when the device is charging to save the battery
Our job should only run when an unmetered network is available to save mobile network bandwidth
Our job should only run when the device is idle because we don't want to slow down the UI responsiveness
Our job must run at least once within eight hours of being...