前言

在应用开发中,通过外部资源或者不同应用拉起另一个应用,并跳转到具体详情页是比较常见的需求。本文会具体介绍如何开发此功能。

开发环境

ohos设备: DAYU200

ohos系统: OpenHarmony 6.0.0.47

IDE: DevEco Studio 6.0.0 Release(Build Version: 6.0.0.858)

OpenHarmony SDK: ohos-sdk-full(6.0.0.47) (api20)

 

最佳实践示例

先在module.json5中添加skills属性并配置。在应用外部就可以通过命令行拉起当前应用。hdc shell "aa start -U link://www.example.com/jump。如果需要传参可跟在jump后面用&拼接。

在应用内部也可以通过startability的方式拉起应用

let context = this.getUIContext().getHostContext() as common.UIAbilityContext;
let want: Want = {
  uri: 'link://www.example.com' // 此处为实际应用链接
};

try {
  context.startAbility(want).then(() => {
    hilog.info(DOMAIN_NUMBER, TAG, 'startAbility success.');
  }).catch((err: BusinessError) => {
    hilog.error(DOMAIN_NUMBER, TAG, `startAbility failed. Code is ${err.code}, message is ${err.message}`);
  });
} catch (paramError) {
  hilog.error(DOMAIN_NUMBER, TAG, `Failed to start ability. Code is ${paramError.code}, message is ${paramError.message}`);
}

 

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐