JobServiceEngine


public abstract class JobServiceEngine
extends Object

java.lang.Object
   ↳ android.app.job.JobServiceEngine


Helper for implementing a Service that interacts with JobScheduler. This is not intended for use by regular applications, but allows frameworks built on top of the platform to create their own Service that interact with JobScheduler as well as add in additional functionality. If you just want to execute jobs normally, you should instead be looking at JobService.

Summary

Public constructors

JobServiceEngine(Service service)

Create a new engine, ready for use.

Public methods

final IBinder getBinder()

Retrieve the engine's IPC interface that should be returned by Service#onBind(Intent).

void jobFinished(JobParameters params, boolean needsReschedule)

Call in to engine to report that a job has finished executing.

void onNetworkChanged(JobParameters params)

Engine's report that the network for the job has changed.

abstract boolean onStartJob(JobParameters params)

Engine's report that a job has started.

abstract boolean onStopJob(JobParameters params)

Engine's report that a job has stopped.

void setNotification(JobParameters params, int notificationId, Notification notification, int jobEndNotificationPolicy)

Give JobScheduler a notification to tie to this job's lifecycle.

void updateEstimatedNetworkBytes(JobParameters params, JobWorkItem item, long downloadBytes, long uploadBytes)

Call in to engine to report data transfer progress.

void updateTransferredNetworkBytes(JobParameters params, JobWorkItem item, long downloadBytes, long uploadBytes)

Call in to engine to report data transfer progress.

Inherited methods

Public constructors

JobServiceEngine

Added in API level 26
public JobServiceEngine (Service service)

Create a new engine, ready for use.

Parameters
service Service: The Service that is creating this engine and in which it will run.

Public methods

getBinder

Added in API level 26
public final IBinder getBinder ()

Retrieve the engine's IPC interface that should be returned by Service#onBind(Intent).

Returns
IBinder

jobFinished

Added in API level 26
public void jobFinished (JobParameters params, 
                boolean needsReschedule)

Call in to engine to report that a job has finished executing. See JobService#jobFinished(JobParameters, boolean) for more information.

Parameters
params JobParameters

needsReschedule boolean

onNetworkChanged

Added in API level 34
public void onNetworkChanged (JobParameters params)

Engine's report that the network for the job has changed.

Parameters
params JobParameters: This value cannot be null.

onStartJob

Added in API level 26
public abstract boolean onStartJob (JobParameters params)

Engine's report that a job has started. See JobService.onStartJob for more information.

Parameters
params JobParameters

Returns
boolean

onStopJob

Added in API level 26
public abstract boolean onStopJob (JobParameters params)

Engine's report that a job has stopped. See JobService.onStopJob for more information.

Parameters
params JobParameters

Returns
boolean

setNotification

Added in API level 34
public void setNotification (JobParameters params, 
                int notificationId, 
                Notification notification, 
                int jobEndNotificationPolicy)

Give JobScheduler a notification to tie to this job's lifecycle.

Parameters
params JobParameters: This value cannot be null.

notificationId int

notification Notification: This value cannot be null.

jobEndNotificationPolicy int: Value is JobService.JOB_END_NOTIFICATION_POLICY_DETACH, or JobService.JOB_END_NOTIFICATION_POLICY_REMOVE

updateEstimatedNetworkBytes

Added in API level 34
public void updateEstimatedNetworkBytes (JobParameters params, 
                JobWorkItem item, 
                long downloadBytes, 
                long uploadBytes)

Call in to engine to report data transfer progress.

Parameters
params JobParameters: This value cannot be null.

item JobWorkItem: This value may be null.

downloadBytes long: Value is a non-negative number of bytes.

uploadBytes long: Value is a non-negative number of bytes.

updateTransferredNetworkBytes

Added in API level 34
public void updateTransferredNetworkBytes (JobParameters params, 
                JobWorkItem item, 
                long downloadBytes, 
                long uploadBytes)

Call in to engine to report data transfer progress.

Parameters
params JobParameters: This value cannot be null.

item JobWorkItem: This value may be null.

downloadBytes long: Value is a non-negative number of bytes.

uploadBytes long: Value is a non-negative number of bytes.