• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.WorkSchedulerExtensionAbility (延迟任务调度回调)
2
3本模块提供延迟任务回调能力。开发者可重写模块接口,在延迟任务触发时,系统可通过本模块接口回调应用,在回调里处理任务逻辑。
4
5>  **说明:**
6>
7>  - 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8>
9>  - 本模块接口仅可在Stage模型下使用。
10
11## 导入模块
12
13```ts
14import { WorkSchedulerExtensionAbility } from '@kit.BackgroundTasksKit';
15```
16
17## WorkSchedulerExtensionContext<sup>10+</sup>
18
19type WorkSchedulerExtensionContext = _WorkSchedulerExtensionContext
20
21**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler
22
23| 类型 | 说明 |
24| -------- |  -------- |
25| [_WorkSchedulerExtensionContext](js-apis-inner-application-WorkSchedulerExtensionContext.md)|  WorkSchedulerExtension的上下文环境。 |
26
27## WorkSchedulerExtensionAbility
28
29### 属性
30
31**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler
32
33| 名称 | 类型 | 只读 | 可选 | 说明 |
34| -------- | -------- | -------- | -------- | -------- |
35| context<sup>10+</sup> | [WorkSchedulerExtensionContext](js-apis-inner-application-WorkSchedulerExtensionContext.md)  | 否 | 否 | WorkSchedulerExtension的上下文环境,继承自ExtensionContext。 |
36
37### onWorkStart
38
39onWorkStart(work: workScheduler.WorkInfo): void
40
41开始延迟任务调度回调。
42
43**系统能力:** SystemCapability.ResourceSchedule.WorkScheduler
44
45**参数**:
46
47| 参数名  | 类型                                       | 必填   | 说明             |
48| ---- | ---------------------------------------- | ---- | -------------- |
49| work | [workScheduler.WorkInfo](js-apis-resourceschedule-workScheduler.md#workinfo) | 是    | 要添加到执行队列的任务。 |
50
51**示例:**
52
53  ```ts
54  import { workScheduler } from '@kit.BackgroundTasksKit';
55  import { WorkSchedulerExtensionAbility } from '@kit.BackgroundTasksKit';
56
57  export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility {
58    onWorkStart(workInfo: workScheduler.WorkInfo) {
59        console.info(`MyWorkSchedulerExtensionAbility onWorkStart, workId: ${workInfo.workId},
60            bundleName: ${workInfo.bundleName}, abilityName: ${workInfo.abilityName}.`);
61    }
62  }
63  ```
64
65### onWorkStop
66
67onWorkStop(work: workScheduler.WorkInfo): void
68
69结束延迟任务调度回调。当延迟任务2分钟超时或应用调用[stopWork](js-apis-resourceschedule-workScheduler.md#workschedulerstopwork)接口取消任务时,触发该回调。
70
71**系统能力:** SystemCapability.ResourceSchedule.WorkScheduler
72
73**参数**:
74
75| 参数名  | 类型                                       | 必填   | 说明             |
76| ---- | ---------------------------------------- | ---- | -------------- |
77| work | [workScheduler.WorkInfo](js-apis-resourceschedule-workScheduler.md#workinfo) | 是    | 执行队列中要结束回调的任务。 |
78
79
80**示例:**
81
82  ```ts
83  import { workScheduler } from '@kit.BackgroundTasksKit';
84  import { WorkSchedulerExtensionAbility } from '@kit.BackgroundTasksKit';
85
86  export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility {
87    onWorkStop(workInfo: workScheduler.WorkInfo) {
88        console.info(`MyWorkSchedulerExtensionAbility onWorkStop, workId: ${workInfo.workId},
89            bundleName: ${workInfo.bundleName}, abilityName: ${workInfo.abilityName}.`);
90    }
91  }
92  ```