In case of Service and IntentService the main differences are Service runs on the main thread while IntentService is not, and the latter finishes itself when the work is done while we have to call either stopService() or stopSelf() to stop a Service.
Both of these can be simply passed to startService().
What about JobService and JobIntentService?
Let's take the following code snippet:
JobInfo job = new JobInfo.Builder(id, new ComponentName(context, ExampleJobService.class))
.build();
JobScheduler scheduler = (JobScheduler) context
.getSystemService(Context.JOB_SCHEDULER_SERVICE);
scheduler.schedule(job);
Can ExampleJobService.class refer to both a JobService and a JobIntentService?
Will the behaviour be the same as with Service and IntentService (apart from the JobScheduler may not start the jobs immediately)?