Added in [API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Inherited Constants](https://developer.android.com/reference/android/app/job/PendingJobReasonsInfo#inhconstants) \| [Fields](https://developer.android.com/reference/android/app/job/PendingJobReasonsInfo#lfields) \| [Ctors](https://developer.android.com/reference/android/app/job/PendingJobReasonsInfo#pubctors) \| [Methods](https://developer.android.com/reference/android/app/job/PendingJobReasonsInfo#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/app/job/PendingJobReasonsInfo#inhmethods)

# PendingJobReasonsInfo

*** ** * ** ***

` public final class PendingJobReasonsInfo `   
` extends https://developer.android.com/reference/java/lang/Object ` ` implements https://developer.android.com/reference/android/os/Parcelable `

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.app.job.PendingJobReasonsInfo |

<br />

*** ** * ** ***

A simple wrapper which includes a timestamp (in millis since epoch) and an array of `https://developer.android.com/` at that timestamp for why a particular job may be pending.

## Summary

### Inherited constants

From interface `https://developer.android.com/reference/android/os/Parcelable` `int` `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR`

Descriptor bit used with `https://developer.android.com/reference/android/os/Parcelable#describeContents()`: indicates that the Parcelable object's flattened representation includes a file descriptor.
`int` `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE`

Flag for use with `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`: the object being written is a return value, that is the result of a function such as "`Parcelable someFunction()`", "`void someFunction(out Parcelable)`", or "`void someFunction(inout Parcelable)`".

| ### Fields ||
|---|---|
| ` public static final https://developer.android.com/reference/android/os/Parcelable.Creator<https://developer.android.com/reference/android/app/job/PendingJobReasonsInfo>` | `https://developer.android.com/reference/android/app/job/PendingJobReasonsInfo#CREATOR` <br /> |

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/app/job/PendingJobReasonsInfo#PendingJobReasonsInfo(long,%20int[])(long timestampMillis, int[] reasons) ` |

| ### Public methods ||
|---|---|
| ` int` | ` https://developer.android.com/reference/android/app/job/PendingJobReasonsInfo#describeContents()() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
| ` int[]` | ` https://developer.android.com/reference/android/app/job/PendingJobReasonsInfo#getPendingJobReasons()() ` Returns a set of `https://developer.android.com/` representing why the job may not have executed at the associated timestamp. |
| ` long` | ` https://developer.android.com/reference/android/app/job/PendingJobReasonsInfo#getTimestampMillis()() ` Value is a non-negative timestamp measured as the number of milliseconds since 1970-01-01T00:00:00Z. |
| ` void` | ` https://developer.android.com/reference/android/app/job/PendingJobReasonsInfo#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) ` Flatten this object in to a Parcel. |

### Inherited methods

From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.
From interface ` https://developer.android.com/reference/android/os/Parcelable ` ` abstract int` ` https://developer.android.com/reference/android/os/Parcelable#describeContents()() `

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.
` abstract void` ` https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) `

Flatten this object in to a Parcel.

## Fields

### CREATOR

Added in [API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final Creator<PendingJobReasonsInfo> CREATOR
```

<br />

<br />

## Public constructors

### PendingJobReasonsInfo

Added in [API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public PendingJobReasonsInfo (long timestampMillis, 
                int[] reasons)
```

<br />

<br />

| Parameters ||
|---|---|
| `timestampMillis` | `long` <br /> |
| `reasons` | `int`: This value cannot be `null`. Value is one of the following: - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_UNDEFINED` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_APP` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_APP_STANDBY` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_BACKGROUND_RESTRICTION` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_CONSTRAINT_BATTERY_NOT_LOW` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_CONSTRAINT_CHARGING` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_CONSTRAINT_CONNECTIVITY` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_CONSTRAINT_CONTENT_TRIGGER` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_CONSTRAINT_DEVICE_IDLE` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_CONSTRAINT_MINIMUM_LATENCY` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_CONSTRAINT_PREFETCH` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_CONSTRAINT_STORAGE_NOT_LOW` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_DEVICE_STATE` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_EXECUTING` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_INVALID_JOB_ID` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_JOB_SCHEDULER_OPTIMIZATION` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_QUOTA` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_USER` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_CONSTRAINT_DEADLINE` |

## Public methods

### describeContents

Added in [API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
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 `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`, the return value of this method must include the `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` bit.

<br />

| Returns ||
|---|---|
| `int` | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either `0` or - `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` |

### getPendingJobReasons

Added in [API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int[] getPendingJobReasons ()
```

Returns a set of `https://developer.android.com/` representing why the job may not have executed at the associated timestamp.

These reasons could either be explicitly set constraints on the job or implicit constraints imposed by the system due to various reasons.

Note: if the only `https://developer.android.com/` present is `https://developer.android.com/`, it could mean that the job was ready to be executed at that time.

<br />

| Returns ||
|---|---|
| `int[]` | This value cannot be `null`. Value is one of the following: - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_UNDEFINED` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_APP` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_APP_STANDBY` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_BACKGROUND_RESTRICTION` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_CONSTRAINT_BATTERY_NOT_LOW` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_CONSTRAINT_CHARGING` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_CONSTRAINT_CONNECTIVITY` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_CONSTRAINT_CONTENT_TRIGGER` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_CONSTRAINT_DEVICE_IDLE` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_CONSTRAINT_MINIMUM_LATENCY` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_CONSTRAINT_PREFETCH` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_CONSTRAINT_STORAGE_NOT_LOW` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_DEVICE_STATE` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_EXECUTING` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_INVALID_JOB_ID` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_JOB_SCHEDULER_OPTIMIZATION` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_QUOTA` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_USER` - `https://developer.android.com/reference/android/app/job/JobScheduler#PENDING_JOB_REASON_CONSTRAINT_DEADLINE` |

### getTimestampMillis

Added in [API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public long getTimestampMillis ()
```

Value is a non-negative timestamp measured as the number of milliseconds since 1970-01-01T00:00:00Z.

<br />

| Returns ||
|---|---|
| `long` | the time (in millis since epoch) associated with the set of pending job reasons. Value is a non-negative timestamp measured as the number of milliseconds since 1970-01-01T00:00:00Z. <br /> |

### writeToParcel

Added in [API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void writeToParcel (Parcel dest, 
                int flags)
```

Flatten this object in to a Parcel.

<br />

| Parameters ||
|---|---|
| `dest` | `Parcel`: This value cannot be `null`. <br /> |
| `flags` | `int`: Additional flags about how the object should be written. May be 0 or `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE`. Value is either `0` or a combination of the following: - `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE` |