HarmonyOS的连接艺术之六: 使用 Deep Linking,灵活定义链接规则
发表于 2025-08-15 09:27:07

踏入鸿蒙世界的敲门砖,标志着您在技术征途上的全新起点,提升就业竞争力,获得行业认可,点亮职业成长先机,快人一步抢占未来应用开发赛道!华为开发者学堂

本文旨在深入探讨华为鸿蒙HarmonyOS NEXT系统(截至目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。

Deep Linking 是一种基于 URL 链接的应用间跳转方式,它允许开发者定义任意形式的 scheme,实现灵活的应用间跳转。Deep Linking 适用于各种场景,例如应用内页面跳转、外部链接跳转等。

Deep Linking 简介

Deep Linking 是一种基于 URL 链接的应用间跳转方式,它允许开发者定义任意形式的 scheme,实现灵活的应用间跳转。Deep Linking 的特点如下:

· 自定义 scheme:可以定义任意不包含特殊字符、非 ohos 开头的字符串,例如 “geo”、“weather” 等。

· 支持自定义参数:可以在 URL 中添加自定义参数,传递数据给目标应用。

· 无需域名校验:没有域名校验机制,容易被其他应用仿冒。

Deep Linking 的实现原理

Deep Linking 的实现原理如下:

1. 目标应用在配置文件中注册 URL skill目标应用需要在配置文件中声明它支持的 URL scheme、host 和 path 等信息,这样系统才能识别它。

2. 拉起方应用在跳转接口中传入目标应用的 URL拉起方应用需要构建一个符合目标应用 URL skill 格式的链接,并传入相应的跳转接口。

3. 系统根据 URL 匹配目标应用并跳转系统会根据 URL 中的 scheme、host 和 path 等信息,在已安装的应用中查找匹配项,并跳转到目标应用内的对应页面。

目标应用在配置文件中注册 URL skill

目标应用需要在 module.json5 配置文件的 skills 标签下注册 URL skill,声明它支持的 URL scheme、host 和 path 等信息。例如:

图片 1.png

URL skill 参数说明

图片 2.png

拉起方应用实现应用跳转

1. 使用 openLink 接口
openLink 接口可以用于打开 Deep Linking 链接,并设置选项参数,例如 appLinkingOnly 和 parameters 等。
示例代码:

图片 3.png

2. 使用 startAbility 接口
startAbility 接口可以用于打开 Deep Linking 链接,并设置选项参数,例如 abilityName 和 moduleName 等。
例代码:

图片 4.png

3. 使用 Web 组件
Web 组件可以通过拦截 onLoadIntercept 回调来处理 Deep Linking 链接,实现应用跳转。
示例代码:

图片 5.png

举(N)个栗子

示例 1:Deep Linking 接入示例

图片 6.png

示例 2:Deep Linking 跳转示例

图片 7.png

总结
使用 Deep Linking 实现应用间跳转是一种灵活的方式,它允许开发者定义任意形式的链接规则,实现个性化的应用间跳转。实际开发中需要按照步骤配置 Deep Linking 接入,并在目标应用中处理传入的链接,才能实现 Deep Linking 功能。(转载自51CTO,作者:SameX)

CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
微博关注
【免责声明:CSDN本栏目发布信息,目的在于传播更多信息,丰富网络文化,稿件仅代表作者个人观点,与CSDN无关。其原创性以及文中陈述文字和文字内容未经本网证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本网不做任何保证或者承诺,请读者仅作参考,并请自行核实相关内容。您若对该稿件有任何怀疑或质疑,请立即与CSDN联系,我们将迅速给您回应并做处理。】