JobWorkItem
  public
  
  final
  
  class
  JobWorkItem
  
    extends Object
  
  
  
  
  
      implements
      
        Parcelable
      
  
  
| java.lang.Object | |
| ↳ | android.app.job.JobWorkItem | 
A unit of work that can be enqueued for a job using
 JobScheduler.enqueue.  See
 JobParameters.dequeueWork for more details.
 
Note: Prior to Android version
 Build.VERSION_CODES.UPSIDE_DOWN_CAKE, JobWorkItems could not be persisted.
 Apps were not allowed to enqueue JobWorkItems with persisted jobs and the system would throw
 an IllegalArgumentException if they attempted to do so. Starting with
 Build.VERSION_CODES.UPSIDE_DOWN_CAKE, JobWorkItems can be persisted alongside
 the hosting job. However, Intents cannot be persisted. Set a PersistableBundle using
 Builder.setExtras(PersistableBundle) for any information that needs to be persisted.
Summary
| Nested classes | |
|---|---|
| 
        
        
        
        
        class | JobWorkItem.BuilderBuilder class for constructing  | 
| Inherited constants | 
|---|
| Fields | |
|---|---|
| 
    public
    static
    final
    Creator<JobWorkItem> | CREATOR
 | 
| Public constructors | |
|---|---|
| 
      JobWorkItem(Intent intent)
      Create a new piece of work, which can be submitted to
  | |
| 
      JobWorkItem(Intent intent, long downloadBytes, long uploadBytes)
      Create a new piece of work, which can be submitted to
  | |
| 
      JobWorkItem(Intent intent, long downloadBytes, long uploadBytes, long minimumChunkBytes)
      Create a new piece of work, which can be submitted to
  | |
| Public methods | |
|---|---|
| 
        
        
        
        
        
        int | 
      describeContents()
      Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. | 
| 
        
        
        
        
        
        int | 
      getDeliveryCount()
      Return the count of the number of times this work item has been delivered to the job. | 
| 
        
        
        
        
        
        long | 
      getEstimatedNetworkDownloadBytes()
      Return the estimated size of download traffic that will be performed by this job, in bytes. | 
| 
        
        
        
        
        
        long | 
      getEstimatedNetworkUploadBytes()
      Return the estimated size of upload traffic that will be performed by this job work item, in bytes. | 
| 
        
        
        
        
        
        PersistableBundle | 
      getExtras()
      Return the extras associated with this work. | 
| 
        
        
        
        
        
        Intent | 
      getIntent()
      Return the Intent associated with this work. | 
| 
        
        
        
        
        
        long | 
      getMinimumNetworkChunkBytes()
      Return the smallest piece of data that cannot be easily paused and resumed, in bytes. | 
| 
        
        
        
        
        
        String | 
      toString()
      Returns a string representation of the object. | 
| 
        
        
        
        
        
        void | 
      writeToParcel(Parcel out, int flags)
      Flatten this object in to a Parcel. | 
| Inherited methods | |
|---|---|
Fields
Public constructors
JobWorkItem
public JobWorkItem (Intent intent)
Create a new piece of work, which can be submitted to
 JobScheduler.enqueue.
 
 Intents cannot be used for persisted JobWorkItems.
 Use Builder.setExtras(PersistableBundle) instead for persisted JobWorkItems.
| Parameters | |
|---|---|
| intent | Intent: The general Intent describing this work. | 
JobWorkItem
public JobWorkItem (Intent intent, long downloadBytes, long uploadBytes)
Create a new piece of work, which can be submitted to
 JobScheduler.enqueue.
 
 See JobInfo.Builder.setEstimatedNetworkBytes(long, long) for
 details about how to estimate network traffic.
 
 Intents cannot be used for persisted JobWorkItems.
 Use Builder.setExtras(PersistableBundle) instead for persisted JobWorkItems.
| Parameters | |
|---|---|
| intent | Intent: The general Intent describing this work. | 
| downloadBytes | long: The estimated size of network traffic that will be
            downloaded by this job work item, in bytes.
 Value is a non-negative number of bytes. | 
| uploadBytes | long: The estimated size of network traffic that will be
            uploaded by this job work item, in bytes.
 Value is a non-negative number of bytes. | 
JobWorkItem
public JobWorkItem (Intent intent, long downloadBytes, long uploadBytes, long minimumChunkBytes)
Create a new piece of work, which can be submitted to
 JobScheduler.enqueue.
 
 See JobInfo.Builder.setEstimatedNetworkBytes(long, long) for
 details about how to estimate network traffic.
 
 Intents cannot be used for persisted JobWorkItems.
 Use Builder.setExtras(PersistableBundle) instead for persisted JobWorkItems.
| Parameters | |
|---|---|
| intent | Intent: The general Intent describing this work.
 This value may benull. | 
| downloadBytes | long: The estimated size of network traffic that will be
                          downloaded by this job work item, in bytes.
 Value is a non-negative number of bytes. | 
| uploadBytes | long: The estimated size of network traffic that will be
                          uploaded by this job work item, in bytes.
 Value is a non-negative number of bytes. | 
| minimumChunkBytes | long: The smallest piece of data that cannot be easily paused and
                          resumed, in bytes.
 Value is a non-negative number of bytes. | 
Public methods
describeContents
public int describeContents ()
Describe the kinds of special objects contained in this Parcelable
 instance's marshaled representation. For example, if the object will
 include a file descriptor in the output of writeToParcel(android.os.Parcel, int),
 the return value of this method must include the
 CONTENTS_FILE_DESCRIPTOR bit.
| Returns | |
|---|---|
| int | a bitmask indicating the set of special object types marshaled
 by this Parcelable object instance.
 Value is either 0orCONTENTS_FILE_DESCRIPTOR | 
getDeliveryCount
public int getDeliveryCount ()
Return the count of the number of times this work item has been delivered
 to the job.  The value will be > 1 if it has been redelivered because the job
 was stopped or crashed while it had previously been delivered but before the
 job had called JobParameters.completeWork for it.
| Returns | |
|---|---|
| int | |
getEstimatedNetworkDownloadBytes
public long getEstimatedNetworkDownloadBytes ()
Return the estimated size of download traffic that will be performed by
 this job, in bytes.
 
 Value is a non-negative number of bytes.
| Returns | |
|---|---|
| long | Estimated size of download traffic, or JobInfo.NETWORK_BYTES_UNKNOWNwhen unknown.
 Value is a non-negative number of bytes. | 
getEstimatedNetworkUploadBytes
public long getEstimatedNetworkUploadBytes ()
Return the estimated size of upload traffic that will be performed by
 this job work item, in bytes.
 
 Value is a non-negative number of bytes.
| Returns | |
|---|---|
| long | Estimated size of upload traffic, or JobInfo.NETWORK_BYTES_UNKNOWNwhen unknown.
 Value is a non-negative number of bytes. | 
getExtras
public PersistableBundle getExtras ()
Return the extras associated with this work.
| Returns | |
|---|---|
| PersistableBundle | This value cannot be null. | 
getIntent
public Intent getIntent ()
Return the Intent associated with this work.
| Returns | |
|---|---|
| Intent | |
getMinimumNetworkChunkBytes
public long getMinimumNetworkChunkBytes ()
Return the smallest piece of data that cannot be easily paused and resumed, in bytes.
 
 Value is a non-negative number of bytes.
| Returns | |
|---|---|
| long | Smallest piece of data that cannot be easily paused and resumed, or JobInfo.NETWORK_BYTES_UNKNOWNwhen unknown.
 Value is a non-negative number of bytes. | 
toString
public String toString ()
Returns a string representation of the object.
| Returns | |
|---|---|
| String | a string representation of the object. | 
writeToParcel
public void writeToParcel (Parcel out, int flags)
Flatten this object in to a Parcel.
| Parameters | |
|---|---|
| out | Parcel: The Parcel in which the object should be written.
 This value cannot benull. | 
| flags | int: Additional flags about how the object should be written.
 May be 0 orParcelable.PARCELABLE_WRITE_RETURN_VALUE.
 Value is either0or a combination ofParcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES | 
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
