本文旨在深入探讨华为鸿蒙HarmonyOS Next系统(截止目前API12)的技术细节,基于实际开发实践进行总结。
主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。
本文为原创内容,任何形式的转载必须注明出处及原作者。
在某些场景下,我们希望应用能够精准控制目标应用,例如打开地图应用查看特定地点,或者打开音乐 App 播放特定歌曲。HarmonyOS 提供了多种方式来实现这种类型的跳转,例如 openLink 接口、startAbility 接口和 Web 组件跳转等。
指定应用链接跳转
1. openLink 接口
openLink 接口是最常用的跳转方式,它可以将用户引导到目标应用的特定页面。例如,你可以在购物 App 中点击“查看地图”按钮,然后系统就会自动打开地图 App 并跳转到店铺位置。
openLink 接口参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| link | string | 目标应用的 URL 链接 |
| options | object | 选项参数,例如 appLinkingOnly、parameters 等 |
| 示例代码: |
import {
common } from '@ohos.app.ability.common';
export default class EntryAbility extends common.UIAbility {
onWindowStageCreate(windowStage: common.WindowStage) {
const context = this.getContext(this) as common.UIAbilityContext;
const link: string = "geo:37.7749,-122.4194"; // 地点坐标
const options: common.OpenLinkOptions = {
appLinkingOnly: false // 允许使用 Deep Linking 跳转
};
context.openLink(link, options);
}
}
2. startAbility 接口
startAbility 接口与 openLink 接口类似,但它提供了更多的选项参数,例如 abilityName 和 moduleName 等,可以指定目标应用的 Ability 名称和模块名称。
startAbility 接口参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| want | common.Want | 目标应用的 Want 对象,包含 action、uri、entities、actions、parameters 和 flags 等信息 |
| options | object | 选项参数,例如 abilityName、moduleName 等 |
| 示例代码: |

最低0.47元/天 解锁文章
1251

被折叠的 条评论
为什么被折叠?



