• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.WorkSchedulerExtensionAbility (Deferred Task Scheduling Callbacks)
2
3The **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.
4
5>  **NOTE**
6>
7>  - 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.
8>
9>  - The APIs of this module can be used only in the stage model.
10
11## Modules to Import
12
13```ts
14import WorkSchedulerExtensionAbility from '@ohos.WorkSchedulerExtensionAbility';
15```
16
17## Attributes
18
19**System capability**: SystemCapability.ResourceSchedule.WorkScheduler
20
21| Name| Type| Readable| Writable| Description|
22| -------- | -------- | -------- | -------- | -------- |
23| context<sup>10+</sup> | [WorkSchedulerExtensionContext](js-apis-inner-application-WorkSchedulerExtensionContext.md)  | Yes| No| Context of the **WorkSchedulerExtension**. This context is inherited from **ExtensionContext**.|
24
25## WorkSchedulerExtensionAbility.onWorkStart
26
27onWorkStart(work: workScheduler.WorkInfo): void
28
29Called when the system starts scheduling the deferred task.
30
31**System capability**: SystemCapability.ResourceSchedule.WorkScheduler
32
33**Parameters**
34
35| Name | Type                                      | Mandatory  | Description            |
36| ---- | ---------------------------------------- | ---- | -------------- |
37| work | [workScheduler.WorkInfo](js-apis-resourceschedule-workScheduler.md#workinfo) | Yes   | Deferred task that starts.|
38
39**Example**
40
41  ```ts
42  import workScheduler from '@ohos.resourceschedule.workScheduler';
43
44  export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility {
45    onWorkStart(workInfo: workScheduler.WorkInfo) {
46        console.log('MyWorkSchedulerExtensionAbility onWorkStart' + JSON.stringify(workInfo));
47    }
48  }
49  ```
50
51## WorkSchedulerExtensionAbility.onWorkStop
52
53onWorkStop(work: workScheduler.WorkInfo): void
54
55Called when the system stops scheduling the deferred task.
56
57**System capability**: SystemCapability.ResourceSchedule.WorkScheduler
58
59**Parameters**
60
61| Name | Type                                      | Mandatory  | Description            |
62| ---- | ---------------------------------------- | ---- | -------------- |
63| work | [workScheduler.WorkInfo](js-apis-resourceschedule-workScheduler.md#workinfo) | Yes   | Deferred task that stops.|
64
65
66**Example**
67
68  ```ts
69  import workScheduler from '@ohos.resourceschedule.workScheduler';
70
71  export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility {
72    onWorkStop(workInfo: workScheduler.WorkInfo) {
73        console.log('MyWorkSchedulerExtensionAbility onWorkStop' + JSON.stringify(workInfo));
74    }
75  }
76  ```
77