List of usage examples for android.app.job JobInfo NETWORK_TYPE_NONE
int NETWORK_TYPE_NONE
To view the source code for android.app.job JobInfo NETWORK_TYPE_NONE.
Click Source Link
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()); }