android.app.job.JobScheduler

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
@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
/**
	 * 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
@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
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
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
/** 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);
}