Summary: Nested Classes | Constants | Inherited Constants | Methods | Inherited Methods | [Expand All]
public abstract class

# Task

extends Object
implements Parcelable

java.lang.Object
↳ | com.google.android.gms.gcm.Task

Known Direct Subclasses OneoffTask, PeriodicTask
OneoffTask | A task that will execute once,at some point within the specified window.
PeriodicTask | A periodic task is one that will recur at the specified interval, without needing to be rescheduled.

## Class Overview

Encapsulates the parameters of a task that you will schedule on the `GcmNetworkManager`.

Construct instances of either `PeriodicTask` or `OneoffTask` with the desired parameters/behaviour and schedule them using `schedule(Task)`.

## Summary

Nested Classes
class | Task.Builder | Builder object to construct these tasks before sending them to the network manager.

Constants
int | EXTRAS_LIMIT_BYTES | The maximum size allowed for extras bundle in bytes.
int | NETWORK_STATE_ANY | Specify using `setRequiredNetwork(int)` that your task will execute regardless of whether a network is available.
int | NETWORK_STATE_CONNECTED | Specify using `setRequiredNetwork(int)` that your task will only execute if some sort of data connection is available - either metered or unmetered.
int | NETWORK_STATE_UNMETERED | Specify using `setRequiredNetwork(int)` that your task will only execute if there is an unmetered network connection available.
long | UNINITIALIZED |

[Expand] Inherited Constants
From interface android.os.Parcelable
int | CONTENTS_FILE_DESCRIPTOR |
int | PARCELABLE_WRITE_RETURN_VALUE |

Public Methods
int | describeContents()
Bundle | getExtras()
int | getRequiredNetwork() If the specified network is unavailable, your task will not be run until it is.
boolean | getRequiresCharging() If the device is not charging and this is set to true, your task will not be run until it is.
String | getServiceName()
String | getTag()
boolean | isPersisted()
boolean | isUpdateCurrent()
void | writeToParcel(Parcel parcel, int i)

[Expand] Inherited Methods
From class java.lang.Object
Object | clone()
boolean | equals(Object arg0)
void | finalize()
final Class<?> | getClass()
int | hashCode()
final void | notify()
final void | notifyAll()
String | toString()
final void | wait(long arg0, int arg1)
final void | wait(long arg0)
final void | wait()
From interface android.os.Parcelable
abstract int | describeContents()
abstract void | writeToParcel(Parcel arg0, int arg1)

## Constants

#### public static final int EXTRAS_LIMIT_BYTES

The maximum size allowed for extras bundle in bytes.

Constant Value: 10240 (0x00002800)

#### public static final int NETWORK_STATE_ANY

Specify using `setRequiredNetwork(int)` that your task will execute regardless of whether a network is available.

Constant Value: 2 (0x00000002)

#### public static final int NETWORK_STATE_CONNECTED

Specify using `setRequiredNetwork(int)` that your task will only execute if some sort of data connection is available - either metered or unmetered. This is the default.

Constant Value: 0 (0x00000000)

#### public static final int NETWORK_STATE_UNMETERED

Specify using `setRequiredNetwork(int)` that your task will only execute if there is an unmetered network connection available.

Constant Value: 1 (0x00000001)

#### protected static final long UNINITIALIZED

Constant Value: -1 (0xffffffffffffffff)

## Public Methods

#### public int describeContents ()

#### public Bundle getExtras ()

##### Returns

- The extra parameters for the task set by the client.

#### public int getRequiredNetwork ()

If the specified network is unavailable, your task will not be run until it is.

##### Returns

- The network type that this task requires in order to run. See the NETWORK_TYPE_* flavours for an explanation of what this value can be.

#### public boolean getRequiresCharging ()

If the device is not charging and this is set to true, your task will not be run until it is.

##### Returns

- Whether or not this task depends on the device being connected to power in order to execute.

#### public String getServiceName ()

##### Returns

- The `GcmTaskService` component that this task will execute on.

#### public String getTag ()

##### Returns

- The String identifier for this task, that is returned to `onRunTask(com.google.android.gms.gcm.TaskParams)` when this task executes.

#### public boolean isPersisted ()

##### Returns

- Whether this task will be persisted across devices restarts or Google Play Services crashes.

#### public boolean isUpdateCurrent ()

##### Returns

- Whether or not this task will update a pre-existing task in the scheduler queue.

#### public void writeToParcel (Parcel parcel, int i)