This class is deprecated.
As of November 1, 2020, GCMNetworkManager client libraries are no longer supported.
GCMNetworkManager API calls no longer work on devices running Android M and later once your
app targets future Android versions ( > Android 10).
Migrate to Jetpack WorkManager for your background
scheduling needs.
Builder class for constructing PeriodicTask
objects.
Inherited Field Summary
Public Constructor Summary
Public Method Summary
PeriodicTask |
build()
|
PeriodicTask.Builder | |
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 | |
PeriodicTask.Builder |
setUpdateCurrent(boolean updateCurrent)
Optional setter to specify whether this task should override any preexisting
tasks with the same tag.
|
Protected Method Summary
void |
Inherited Method Summary
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. Defaults to true. Callers must hold the permission android.Manifest.permission.RECEIVE_BOOT_COMPLETED, otherwise this setting 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 identifier 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 if a task with the same tag and service is already present then the new task will be dropped instead of replacing the previous task.
Parameters
updateCurrent | True to update the current task with the parameters of the new. Default false. |
---|