@ohos.WorkSchedulerExtensionAbility (Deferred Task Scheduling Callbacks)

The WorkSchedulerExtensionAbility module provides callbacks for deferred task scheduling. You can override the APIs provided by this module. When a deferred task is triggered, the system calls back the application through the APIs and processes the task logic in the callback.

NOTE

  • The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.

  • The APIs of this module can be used only in the stage model.

Modules to Import

import WorkSchedulerExtensionAbility from '@ohos.WorkSchedulerExtensionAbility';

Attributes

System capability: SystemCapability.ResourceSchedule.WorkScheduler

Name Type Readable Writable Description
context10+ WorkSchedulerExtensionContext Yes No Context of the WorkSchedulerExtension. This context is inherited from ExtensionContext.

WorkSchedulerExtensionAbility.onWorkStart

onWorkStart(work: workScheduler.WorkInfo): void

Called when the system starts scheduling the deferred task.

System capability: SystemCapability.ResourceSchedule.WorkScheduler

Parameters

Name Type Mandatory Description
work workScheduler.WorkInfo Yes Deferred task that starts.

Example

import workScheduler from '@ohos.resourceschedule.workScheduler';

export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility {
  onWorkStart(workInfo: workScheduler.WorkInfo) {
      console.log('MyWorkSchedulerExtensionAbility onWorkStart' + JSON.stringify(workInfo));
  }
}

WorkSchedulerExtensionAbility.onWorkStop

onWorkStop(work: workScheduler.WorkInfo): void

Called when the system stops scheduling the deferred task.

System capability: SystemCapability.ResourceSchedule.WorkScheduler

Parameters

Name Type Mandatory Description
work workScheduler.WorkInfo Yes Deferred task that stops.

Example

import workScheduler from '@ohos.resourceschedule.workScheduler';

export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility {
  onWorkStop(workInfo: workScheduler.WorkInfo) {
      console.log('MyWorkSchedulerExtensionAbility onWorkStop' + JSON.stringify(workInfo));
  }
}