Here are the examples of the java api class android.app.job.JobScheduler taken from open source projects.
1. CBWatcherService#bindJobScheduler()
Project: Clip-Stack
File: CBWatcherService.java
File: CBWatcherService.java
@TargetApi(Build.VERSION_CODES.LOLLIPOP) private void bindJobScheduler() { // JobScheduler for auto clean sqlite JobInfo job = new JobInfo.Builder(JOB_ID, new ComponentName(this, SyncJobService.class)).setRequiresCharging(true).setRequiresDeviceIdle(true).setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED).setPeriodic(24 * 60 * 60 * 1000).setPersisted(true).build(); JobScheduler jobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE); jobScheduler.cancel(JOB_ID); jobScheduler.schedule(job); }
2. MainActivity#scheduleJob()
Project: codeexamples-android
File: MainActivity.java
File: MainActivity.java
/** * UI onclick listener to schedule a new job. */ public void scheduleJob(View v) { JobInfo.Builder builder = new JobInfo.Builder(kJobId++, mServiceComponent); String delay = mDelayEditText.getText().toString(); if (delay != null && !TextUtils.isEmpty(delay)) { builder.setMinimumLatency(Long.valueOf(delay) * 1000); } String deadline = mDeadlineEditText.getText().toString(); if (deadline != null && !TextUtils.isEmpty(deadline)) { builder.setOverrideDeadline(Long.valueOf(deadline) * 1000); } boolean requiresUnmetered = mWiFiConnectivityRadioButton.isChecked(); boolean requiresAnyConnectivity = mAnyConnectivityRadioButton.isChecked(); if (requiresUnmetered) { builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED); } else if (requiresAnyConnectivity) { builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY); } builder.setRequiresDeviceIdle(mRequiresIdleCheckbox.isChecked()); builder.setRequiresCharging(mRequiresChargingCheckBox.isChecked()); JobScheduler jobScheduler = (JobScheduler) getApplication().getSystemService(Context.JOB_SCHEDULER_SERVICE); jobScheduler.schedule(builder.build()); }
3. RichBootReceiver#onReceive()
Project: androidtv-sample-inputs
File: RichBootReceiver.java
File: RichBootReceiver.java
@Override public void onReceive(Context context, Intent intent) { JobScheduler jobScheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE); // If there are not pending jobs. Create a sync job and schedule it. List<JobInfo> pendingJobs = jobScheduler.getAllPendingJobs(); if (pendingJobs.isEmpty()) { String inputId = context.getSharedPreferences(SyncJobService.PREFERENCE_EPG_SYNC, Context.MODE_PRIVATE).getString(SyncJobService.BUNDLE_KEY_INPUT_ID, null); if (inputId != null) { // Set up periodic sync only when input has set up. SyncUtils.setUpPeriodicSync(context, inputId); } return; } // On L/L-MR1, reschedule the pending jobs. if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1) { for (JobInfo job : pendingJobs) { if (job.isPersisted()) { jobScheduler.schedule(job); } } } }
4. MainActivity#cancelAllJobs()
Project: codeexamples-android
File: MainActivity.java
File: MainActivity.java
public void cancelAllJobs(View v) { JobScheduler tm = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE); tm.cancelAll(); }
5. SyncUtils#cancelAll()
Project: androidtv-sample-inputs
File: SyncUtils.java
File: SyncUtils.java
public static void cancelAll(Context context) { JobScheduler jobScheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE); jobScheduler.cancelAll(); }
6. SyncUtils#scheduleJob()
Project: androidtv-sample-inputs
File: SyncUtils.java
File: SyncUtils.java
/** Send the job to JobScheduler. **/ private static void scheduleJob(Context context, JobInfo job) { JobScheduler jobScheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE); jobScheduler.schedule(job); }