@UnstableApi
public interface Scheduler


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

Summary

Public methods

abstract boolean

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

abstract Requirements

Checks whether this Scheduler supports the provided Requirements.

abstract boolean
schedule(
    Requirements requirements,
    String servicePackage,
    String serviceAction
)

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

Public methods

cancel

abstract boolean cancel()

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

Returns
boolean

Whether cancellation was successful.

getSupportedRequirements

abstract Requirements getSupportedRequirements(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

abstract boolean schedule(
    Requirements requirements,
    String servicePackage,
    String serviceAction
)

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.

String servicePackage

The package name.

String serviceAction

The action with which the service will be started.

Returns
boolean

Whether scheduling was successful.