api-switch-overview.md 1.4 KB
Newer Older
Z
zengyawen 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
# API切换概述


FA模型和Stage模型由于线程模型和进程模型的差异,部分接口仅在FA模型下才能使用,针对这部分接口在SDK的接口中有FAModelOnly的标记,用于提醒开发者这部分接口仅能在FA模型下使用。因此在切换到Stage模型时,需要将应用中用到的FAModelOnly接口替换成Stage模型下对应的接口。下面是startAbility的接口切换示例,全量接口列表请查看后续章节:

![api-switch-overview](figures/api-switch-overview.png)

startAbility接口由FA模型切换到Stage模型的示例:

- FA模型示例

  ```ts
  import fa from '@ohos.ability.featureAbility';
  let parameter = {
    "want": {
16 17
      bundleName: "com.example.myapplication",
      abilityName: "com.example.myapplication.EntryAbility"
Z
zengyawen 已提交
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
    }
  }
  fa.startAbility(parameter).then((data) => {
    console.info('startAbility success');
  }).catch((error) => {
    console.error('startAbility failed.');
  })
  ```

- Stage示例示例

  ```ts
  // context为Ability对象的成员,在非Ability对象内部调用需要
  // 将Context对象传递过去
  let wantInfo = {
33 34
    bundleName: "com.example.myapplication",
    abilityName: "EntryAbility"
Z
zengyawen 已提交
35 36 37 38 39 40 41
  };
  this.context.startAbility(wantInfo).then((data) => {
    console.info('startAbility success.');
  }).catch((error) => {
    console.error('startAbility failed.');
  })
  ```