1# AbilityStartCallback
2
3定义拉起UIExtensionAbility执行结果的回调。
4
5> **说明:**
6>
7> 本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8>
9> 本模块接口仅可在Stage模型下使用。
10>
11> 从API version 11开始,本模块接口支持在原子化服务中使用。
12
13## 导入模块
14
15```ts
16import { common } from '@kit.AbilityKit';
17```
18
19## onError
20
21onError(code: number, name: string, message: string): void
22
23拉起UIExtensionAbility执行失败的回调。
24
25**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。
26
27**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
28
29**参数:**
30
31| 参数名       | 类型                     | 必填   | 说明            |
32| -------- | ---------------------- | ---- | ------------- |
33| code | number | 是    | 拉起UIExtensionAbility执行失败时返回的结果码。 |
34| name | string | 是    | 拉起UIExtensionAbility执行失败时返回的名称。 |
35| message | string | 是    | 拉起UIExtensionAbility执行失败时返回的错误信息。 |
36
37**示例:**
38
39```ts
40import { UIAbility, common } from '@kit.AbilityKit';
41import { BusinessError } from '@kit.BasicServicesKit';
42
43export default class EntryAbility extends UIAbility {
44  onForeground() {
45    let wantParam: Record<string, Object> = {
46      'time': '2023-10-23 20:45',
47    };
48    let abilityStartCallback: common.AbilityStartCallback = {
49      onError: (code: number, name: string, message: string) => {
50        console.log(`code:` + code + `name:` + name + `message:` + message);
51      },
52      onResult: (abilityResult: common.AbilityResult) => {
53        console.log(`resultCode:` + abilityResult.resultCode + `bundleName:` + abilityResult.want?.bundleName);
54      }
55    };
56
57    this.context.startAbilityByType("photoEditor", wantParam, abilityStartCallback, (err: BusinessError) => {
58      if (err) {
59        console.error(`startAbilityByType fail, err: ${JSON.stringify(err)}`);
60      } else {
61        console.log(`success`);
62      }
63    });
64  }
65}
66```
67
68## onResult<sup>12+<sup>
69
70onResult?(parameter: AbilityResult): void
71
72拉起UIExtensionAbility终止时的回调。
73
74**原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。
75
76**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
77
78**参数:**
79
80| 参数名       | 类型                     | 必填   | 说明            |
81| -------- | ---------------------- | ---- | ------------- |
82| parameter | [AbilityResult](js-apis-inner-ability-abilityResult.md) | 是    | 当调用[terminateSelfWithResult](js-apis-inner-application-uiExtensionContext.md#uiextensioncontextterminateselfwithresult12)方法终止UIExtensionAbility时返回的结果。 |
83
84**示例:**
85
86```ts
87import { UIAbility, common } from '@kit.AbilityKit';
88import { BusinessError } from '@kit.BasicServicesKit';
89
90export default class EntryAbility extends UIAbility {
91  onForeground() {
92    let wantParam: Record<string, Object> = {
93      'time': '2023-10-23 20:45',
94    };
95    let abilityStartCallback: common.AbilityStartCallback = {
96      onError: (code: number, name: string, message: string) => {
97        console.log(`code:` + code + `name:` + name + `message:` + message);
98      },
99      onResult: (abilityResult: common.AbilityResult) => {
100        console.log(`resultCode:` + abilityResult.resultCode + `bundleName:` + abilityResult.want?.bundleName);
101      }
102    };
103
104    this.context.startAbilityByType("photoEditor", wantParam, abilityStartCallback, (err: BusinessError) => {
105      if (err) {
106        console.error(`startAbilityByType fail, err: ${JSON.stringify(err)}`);
107      } else {
108        console.log(`success`);
109      }
110    });
111  }
112}
113```
114