Example usage for android.app.job JobInfo NETWORK_TYPE_NONE

List of usage examples for android.app.job JobInfo NETWORK_TYPE_NONE

Introduction

In this page you can find the example usage for android.app.job JobInfo NETWORK_TYPE_NONE.

Prototype

int NETWORK_TYPE_NONE

To view the source code for android.app.job JobInfo NETWORK_TYPE_NONE.

Click Source Link

Document

Default.

Usage

From source file:com.commonsware.android.rv.transcript.EventDemoActivity.java

@Override
@SuppressLint("MissingPermission")
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (getSupportFragmentManager().findFragmentById(android.R.id.content) == null) {
        getSupportFragmentManager().beginTransaction().add(android.R.id.content, new EventLogFragment())
                .commit();//from  www  . j a va2s  .c  om

        JobScheduler jobs = (JobScheduler) getSystemService(JOB_SCHEDULER_SERVICE);
        ComponentName cn = new ComponentName(this, ScheduledService.class);
        JobInfo.Builder b = new JobInfo.Builder(JOB_ID, cn).setRequiredNetworkType(JobInfo.NETWORK_TYPE_NONE)
                .setPeriodic(60000).setPersisted(false).setRequiresCharging(false).setRequiresDeviceIdle(false);

        jobs.schedule(b.build());
    }
}

From source file:com.commonsware.android.sawmonitor.SAWDetector.java

@TargetApi(Build.VERSION_CODES.O)
static void scheduleJobs(Context ctxt) {
    SAWDetector.seeSAW(ctxt);/*from w w  w  . ja  v a2s  . c  o m*/

    ComponentName cn = new ComponentName(ctxt, PollingService.class);
    JobInfo.Builder b = new JobInfo.Builder(JOB_ID, cn).setRequiredNetworkType(JobInfo.NETWORK_TYPE_NONE)
            .setPeriodic(15 * 60 * 1000, 60000).setPersisted(true).setRequiresCharging(false)
            .setRequiresDeviceIdle(false);

    ctxt.getSystemService(JobScheduler.class).schedule(b.build());
}

From source file:com.google.android.car.kitchensink.job.JobSchedulerFragment.java

private void scheduleJob() {
    ComponentName jobComponentName = new ComponentName(getContext(), DishService.class);
    SharedPreferences prefs = getContext().getSharedPreferences(PREFS_NEXT_JOB_ID, Context.MODE_PRIVATE);
    int jobId = prefs.getInt(PREFS_NEXT_JOB_ID, 0);
    PersistableBundle bundle = new PersistableBundle();
    int count = 50;
    try {/*from  w  ww.  j  a va 2 s  .com*/
        count = Integer.valueOf(mDishNum.getText().toString());
    } catch (NumberFormatException e) {
        Log.e(TAG, "NOT A NUMBER!!!");
    }

    int selected = mNetworkGroup.getCheckedRadioButtonId();
    int networkType = JobInfo.NETWORK_TYPE_ANY;
    switch (selected) {
    case R.id.network_none:
        networkType = JobInfo.NETWORK_TYPE_NONE;
        break;
    case R.id.network_unmetered:
        networkType = JobInfo.NETWORK_TYPE_UNMETERED;
        break;
    case R.id.network_any:
        networkType = JobInfo.NETWORK_TYPE_ANY;
        break;
    }
    bundle.putInt(DishService.EXTRA_DISH_COUNT, count);
    JobInfo jobInfo = new JobInfo.Builder(jobId, jobComponentName)
            .setRequiresCharging(mRequireCharging.isChecked()).setRequiresDeviceIdle(mRequireIdle.isChecked())
            // TODO: figure out why we crash here even we hold
            // the RECEIVE_BOOT_COMPLETE permission
            //.setPersisted(mRequirePersisted.isChecked())
            .setExtras(bundle).setRequiredNetworkType(networkType).build();

    mJobScheduler.schedule(jobInfo);
    Toast.makeText(getContext(), "Scheduled: " + jobInfo, Toast.LENGTH_LONG).show();

    Log.d(TAG, "Scheduled a job: " + jobInfo);
    SharedPreferences.Editor editor = prefs.edit();
    editor.putInt(PREFS_NEXT_JOB_ID, jobId + 1);
    editor.commit();

    refreshCurrentJobs();
}

From source file:nuclei.task.TaskScheduler.java

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void onScheduleJobL(Context context) {
    JobInfo.Builder builder = new JobInfo.Builder(mBuilder.mTask.getTaskId(),
            new ComponentName(context, TaskJobService.class));

    ArrayMap<String, Object> map = new ArrayMap<>();
    mBuilder.mTask.serialize(map);//  w w  w.j a v a  2s.co  m
    PersistableBundle extras = new PersistableBundle();
    for (Map.Entry<String, Object> entry : map.entrySet()) {
        Object v = entry.getValue();
        if (v == null)
            continue;
        if (v instanceof Integer)
            extras.putInt(entry.getKey(), (int) v);
        else if (v instanceof Double)
            extras.putDouble(entry.getKey(), (double) v);
        else if (v instanceof Long)
            extras.putLong(entry.getKey(), (long) v);
        else if (v instanceof String)
            extras.putString(entry.getKey(), (String) v);
        else if (v instanceof String[])
            extras.putStringArray(entry.getKey(), (String[]) v);
        else if (v instanceof boolean[] && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1)
            extras.putBooleanArray(entry.getKey(), (boolean[]) v);
        else if (v instanceof double[])
            extras.putDoubleArray(entry.getKey(), (double[]) v);
        else if (v instanceof long[])
            extras.putLongArray(entry.getKey(), (long[]) v);
        else if (v instanceof int[])
            extras.putIntArray(entry.getKey(), (int[]) v);
        else
            throw new IllegalArgumentException("Invalid Type: " + entry.getKey());
    }
    extras.putString(TASK_NAME, mBuilder.mTask.getClass().getName());

    switch (mBuilder.mTaskType) {
    case TASK_ONE_OFF:
        if (mBuilder.mWindowStartDelaySecondsSet)
            builder.setMinimumLatency(mBuilder.mWindowStartDelaySeconds * 1000);
        if (mBuilder.mWindowEndDelaySecondsSet)
            builder.setOverrideDeadline(mBuilder.mWindowEndDelaySeconds * 1000);
        break;
    case TASK_PERIODIC:
        builder.setPeriodic(mBuilder.mPeriodInSeconds * 1000);
        break;
    default:
        throw new IllegalArgumentException();
    }

    builder.setExtras(extras).setPersisted(mBuilder.mPersisted).setRequiresCharging(mBuilder.mRequiresCharging)
            .setRequiresDeviceIdle(mBuilder.mRequiresDeviceIdle);

    switch (mBuilder.mNetworkState) {
    case NETWORK_STATE_ANY:
        builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_NONE);
        break;
    case NETWORK_STATE_CONNECTED:
        builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
        break;
    case NETWORK_STATE_UNMETERED:
        builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED);
        break;
    }

    switch (mBuilder.mBackoffPolicy) {
    case BACKOFF_POLICY_EXPONENTIAL:
        builder.setBackoffCriteria(mBuilder.mInitialBackoffMillis, JobInfo.BACKOFF_POLICY_EXPONENTIAL);
        break;
    case BACKOFF_POLICY_LINEAR:
        builder.setBackoffCriteria(mBuilder.mInitialBackoffMillis, JobInfo.BACKOFF_POLICY_LINEAR);
        break;
    }

    JobScheduler jobScheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
    jobScheduler.schedule(builder.build());
}