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