WorkerFactory

abstract class WorkerFactory

Known direct subclasses
DelegatingWorkerFactory

A WorkerFactory which delegates to other factories.

HiltWorkerFactory

Worker Factory for the Hilt Extension


A factory object that creates ListenableWorker instances. The factory is invoked every time a work runs. You can override the default implementation of this factory by manually initializing WorkManager (see WorkManager.initialize and specifying a new WorkerFactory in Configuration.Builder.setWorkerFactory.

Summary

Public constructors

Public functions

abstract ListenableWorker?
createWorker(
    appContext: Context,
    workerClassName: String,
    workerParameters: WorkerParameters
)

Override this method to implement your custom worker-creation logic.

Public constructors

WorkerFactory

Added in 1.0.0
WorkerFactory()

Public functions

createWorker

Added in 1.0.0
abstract fun createWorker(
    appContext: Context,
    workerClassName: String,
    workerParameters: WorkerParameters
): ListenableWorker?

Override this method to implement your custom worker-creation logic. Use Configuration.Builder.setWorkerFactory to use your custom class.

Throwing an Exception here will crash the application. If a WorkerFactory is unable to create an instance of the ListenableWorker, it should return null so it can delegate to the default WorkerFactory.

Returns a new instance of the specified workerClassName given the arguments. The returned worker must be a newly-created instance and must not have been previously returned or invoked by WorkManager. Otherwise, WorkManager will throw an IllegalStateException.

Parameters
appContext: Context

The application context

workerClassName: String

The class name of the worker to create

workerParameters: WorkerParameters

Parameters for worker initialization

Returns
ListenableWorker?

A new ListenableWorker instance of type workerClassName, or null if the worker could not be created