1e41f4b71Sopenharmony_ci# Starting a Local PageAbility
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci
4e41f4b71Sopenharmony_ciThe capabilities related to the PageAbility are provided through the **featureAbility** class. For example, **startAbility()** in **featureAbility** is used to the PageAbility.
5e41f4b71Sopenharmony_ci
6e41f4b71Sopenharmony_ci**Table 1** featureAbility APIs
7e41f4b71Sopenharmony_ci
8e41f4b71Sopenharmony_ci| API| Description|
9e41f4b71Sopenharmony_ci| -------- | -------- |
10e41f4b71Sopenharmony_ci| startAbility(parameter: StartAbilityParameter) | Starts an ability.|
11e41f4b71Sopenharmony_ci| startAbilityForResult(parameter: StartAbilityParameter) | Starts an ability and returns the execution result when the ability is terminated.|
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci
14e41f4b71Sopenharmony_ciThe following code snippet shows how to explicitly start a PageAbility through **startAbility()**. The parameters passed in for starting an ability include **want**. For details about the **want** parameter as well as implicit startup and explicit startup, see [Want](want-fa.md).
15e41f4b71Sopenharmony_ci
16e41f4b71Sopenharmony_ci```ts
17e41f4b71Sopenharmony_ciimport featureAbility from '@ohos.ability.featureAbility';
18e41f4b71Sopenharmony_ciimport Want from '@ohos.app.ability.Want';
19e41f4b71Sopenharmony_ciimport hilog from '@ohos.hilog';
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ciconst TAG: string = 'PagePageAbilityFirst';
22e41f4b71Sopenharmony_ciconst domain: number = 0xFF00;
23e41f4b71Sopenharmony_ci```
24e41f4b71Sopenharmony_ci```ts
25e41f4b71Sopenharmony_ci(async (): Promise<void> => {
26e41f4b71Sopenharmony_ci  try {
27e41f4b71Sopenharmony_ci    hilog.info(domain, TAG, 'Begin to start ability');
28e41f4b71Sopenharmony_ci    let want: Want = {
29e41f4b71Sopenharmony_ci      bundleName: 'com.samples.famodelabilitydevelop',
30e41f4b71Sopenharmony_ci      moduleName: 'entry',
31e41f4b71Sopenharmony_ci      abilityName: 'com.samples.famodelabilitydevelop.PageAbilitySingleton'
32e41f4b71Sopenharmony_ci    };
33e41f4b71Sopenharmony_ci    await featureAbility.startAbility({ want: want });
34e41f4b71Sopenharmony_ci    hilog.info(domain, TAG, `Start ability succeed`);
35e41f4b71Sopenharmony_ci  }
36e41f4b71Sopenharmony_ci  catch (error) {
37e41f4b71Sopenharmony_ci    hilog.error(domain, TAG, 'Start ability failed with ' + error);
38e41f4b71Sopenharmony_ci  }
39e41f4b71Sopenharmony_ci})()
40e41f4b71Sopenharmony_ci```
41