Android APIs
public static class

PeriodicTask.Builder

extends Task.Builder
java.lang.Object
   ↳ com.google.android.gms.gcm.Task.Builder
     ↳ com.google.android.gms.gcm.PeriodicTask.Builder

Summary

[Expand]
Inherited Fields
From class com.google.android.gms.gcm.Task.Builder
Public Constructors
PeriodicTask.Builder()
Public Methods
PeriodicTask build()
PeriodicTask.Builder setExtras(Bundle extras)
Optional setter for specifying any extra parameters necessary for the task.
PeriodicTask.Builder setFlex(long flexInSeconds)
Optional setter for specifying how close to the end of the period set in setPeriod(long) you are willing to execute.
PeriodicTask.Builder setPeriod(long periodInSeconds)
Mandatory setter for creating a periodic task.
PeriodicTask.Builder setPersisted(boolean isPersisted)
Optional setter to specify whether this task should be persisted across reboots.
PeriodicTask.Builder setRequiredNetwork(int requiredNetworkState)
Set the network state your task requires to run.
PeriodicTask.Builder setRequiresCharging(boolean requiresCharging)
Set whether your task requires that the device be connected to power in order to execute.
PeriodicTask.Builder setService(Class<? extends GcmTaskService> gcmTaskService)
Set whichever GcmTaskService you implement to execute the logic for this task.
PeriodicTask.Builder setTag(String tag)
Mandatory setter for specifying the tag identifer for this task.
PeriodicTask.Builder setUpdateCurrent(boolean updateCurrent)
Optional setter to specify whether this task should override any preexisting tasks with the same tag.
Protected Methods
void checkConditions()
[Expand]
Inherited Methods
From class com.google.android.gms.gcm.Task.Builder
From class java.lang.Object

Public Constructors

public PeriodicTask.Builder ()

Public Methods

public PeriodicTask build ()

public PeriodicTask.Builder setExtras (Bundle extras)

Optional setter for specifying any extra parameters necessary for the task.

public PeriodicTask.Builder setFlex (long flexInSeconds)

Optional setter for specifying how close to the end of the period set in setPeriod(long) you are willing to execute. For example, specifying a period of 30 seconds, with a flex value of 10 seconds will allow the scheduler to determine the best moment between the 20th and 30th second at which to execute your task.

public PeriodicTask.Builder setPeriod (long periodInSeconds)

Mandatory setter for creating a periodic task. This specifies that you would like this task to recur at most once every mIntervalInSeconds. By default you have no control over where within this period the task will execute. If you want to restrict the task to run within a certain timeframe from the end of the period, use setFlex(long)

public PeriodicTask.Builder setPersisted (boolean isPersisted)

Optional setter to specify whether this task should be persisted across reboots. This defaults to true for periodic tasks, Callers must hold the permission android.Manifest.permission.RECEIVE_BOOT_COMPLETED, otherwise this setter is ignored.

Parameters
isPersisted True if this task should be persisted across device reboots.

public PeriodicTask.Builder setRequiredNetwork (int requiredNetworkState)

Set the network state your task requires to run. If the specified network is unavailable your task will not be executed until it becomes available. The default for either a periodic or one-off task is NETWORK_STATE_CONNECTED. Note that changing this to NETWORK_STATE_ANY means there is no guarantee that data will be available when your task executes. In addition, the only guarantee for connectivity is at the moment of execution - it is possible for the device to lose data shortly after your task begins executing.

public PeriodicTask.Builder setRequiresCharging (boolean requiresCharging)

Set whether your task requires that the device be connected to power in order to execute. Use this to defer nonessential operations whenever possible. Note that if you set this field and the device is not connected to power your task will not run until the device is plugged in. One way to deal with your task not executing until the constraint is met is to schedule another task without the constraints that is subject to some deadline that you can abide. This task would be responsible for executing your fallback logic.

public PeriodicTask.Builder setService (Class<? extends GcmTaskService> gcmTaskService)

Set whichever GcmTaskService you implement to execute the logic for this task.

Parameters
gcmTaskService Endpoint against which you're scheduling this task.

public PeriodicTask.Builder setTag (String tag)

Mandatory setter for specifying the tag identifer for this task. This tag will be returned at execution time to your endpoint. See onRunTask(com.google.android.gms.gcm.TaskParams) Maximum tag length is 100.

Parameters
tag String identifier for this task. Consecutive schedule calls for the same tag will update any preexisting task with the same tag.

public PeriodicTask.Builder setUpdateCurrent (boolean updateCurrent)

Optional setter to specify whether this task should override any preexisting tasks with the same tag. This defaults to false, which means that a new task will not override an existing one.

Parameters
updateCurrent True to update the current task with the parameters of the new. Default false.

Protected Methods

protected void checkConditions ()