@UnstableApi
class WorkManagerScheduler : Scheduler


A Scheduler that uses WorkManager.

Summary

Nested types

A Worker that starts the target service if the requirements are met.

Public constructors

WorkManagerScheduler(context: Context!, workName: String!)

Public functions

Boolean

Cancels anything that was previously scheduled, or else does nothing.

Requirements!

Checks whether this Scheduler supports the provided Requirements.

Boolean
schedule(
    requirements: Requirements!,
    servicePackage: String!,
    serviceAction: String!
)

Schedules a service to be started in the foreground when some Requirements are met.

Public constructors

WorkManagerScheduler

WorkManagerScheduler(context: Context!, workName: String!)
Parameters
context: Context!

A context.

workName: String!

A name for work scheduled by this instance. If the same name was used by a previous instance, anything scheduled by the previous instance will be canceled by this instance if schedule or cancel are called.

Public functions

cancel

fun cancel(): Boolean

Cancels anything that was previously scheduled, or else does nothing.

Returns
Boolean

Whether cancellation was successful.

getSupportedRequirements

fun getSupportedRequirements(requirements: Requirements!): Requirements!

Checks whether this Scheduler supports the provided Requirements. If all of the requirements are supported then the same Requirements instance is returned. If not then a new instance is returned containing the subset of the requirements that are supported.

Parameters
requirements: Requirements!

The requirements to check.

Returns
Requirements!

The supported requirements.

schedule

fun schedule(
    requirements: Requirements!,
    servicePackage: String!,
    serviceAction: String!
): Boolean

Schedules a service to be started in the foreground when some Requirements are met. Anything that was previously scheduled will be canceled.

The service to be started must be declared in the manifest of servicePackage with an intent filter containing serviceAction. Note that when started with serviceAction, the service must call startForeground to make itself a foreground service, as documented by startForegroundService.

Parameters
requirements: Requirements!

The requirements.

servicePackage: String!

The package name.

serviceAction: String!

The action with which the service will be started.

Returns
Boolean

Whether scheduling was successful.