1# StartAbilityParameter
2
3定义启动Ability参数,可以作为入参,调用[startAbility](js-apis-ability-featureAbility.md#featureabilitystartability)启动指定的Ability。
4
5> **说明:**
6>
7> 本接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8>
9> 此接口仅可在FA模型下使用。
10
11## 导入模块
12
13```ts
14import ability from '@ohos.ability.ability';
15```
16
17## 属性
18
19**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
20
21| 名称               |   类型   | 必填   | 说明                                    |
22| ------------------- | -------- | ---- | -------------------------------------- |
23| want                | [Want](js-apis-app-ability-want.md)|   是   | 启动Ability的want信息。                     |
24| abilityStartSetting | { [key: string]: any } | 否    | 启动Ability的特殊属性,当开发者启动Ability时,该属性可以作为调用中的输入参数传递。 |
25| abilityStartSettings<sup>11+<sup> | Record\<string, Object> | 否    | 启动Ability的特殊属性,当开发者启动Ability时,该属性可以作为调用中的输入参数传递。推荐使用该属性替代abilityStartSetting,设置该属性后,abilityStartSetting不再生效。 |
26
27**示例:**
28
29<!--code_no_check_fa-->
30```ts
31import ability from '@ohos.ability.ability';
32import featureAbility from '@ohos.ability.featureAbility';
33import Want from '@ohos.app.ability.Want';
34
35let want: Want = {
36    bundleName: 'com.example.abilityStartSettingApp2',
37    abilityName: 'com.example.abilityStartSettingApp.EntryAbility',
38};
39
40let startAbilityParameter: ability.StartAbilityParameter = {
41    want : want,
42    abilityStartSettings : {
43        abilityBounds : [100,200,300,400],
44        windowMode :
45        featureAbility.AbilityWindowConfiguration.WINDOW_MODE_UNDEFINED,
46        displayId : 1,
47    }
48};
49
50try {
51    featureAbility.startAbility(startAbilityParameter, (error, data) => {
52        if (error && error.code !== 0) {
53            console.error(`startAbility fail, error: ${JSON.stringify(error)}`);
54        } else {
55            console.log(`startAbility success, data: ${JSON.stringify(data)}`);
56        }
57    });
58} catch(error) {
59    console.error(`startAbility error: ${JSON.stringify(error)}`);
60}
61```