HarmonyOS 5 应用拉起系列(一):应用与元服务互通方式

随着 HarmonyOS 生态的发展,应用之间、应用与元服务之间的互相拉起成为常见的交互方式。结合我平时开发所遇到的场景,将系统总结 HarmonyOS 中几种主流的拉起方式,包括 openLink
、startAbility
、openAtomicService
和 FullScreenLaunchComponent
,并通过实际代码进行说明,帮助开发者灵活选择、快速集成。
一、HarmonyOS 常见拉起方式对比
下表概览了各类拉起方式的特性、适用场景与限制,方便快速查阅与选型:
二、各拉起方式使用说明与示例
1. 使用 openLink
拉起三方应用(如支付宝)
适用于:已注册 URI scheme 的应用,常见于推广唤端、H5 页面跳转
使用说明:
支持通过
link
字段传入标准 URL,系统基于隐式 want 匹配规则唤起目标应用。目标应用需声明特定的
action
和entities
。
文档参考: UIExtensionContext.openLink
代码示例:
2. 使用 startAbility
显式拉起鸿蒙应用或元服务
适用于:已知目标包名的应用或元服务,适合系统内联动、插件调用等场景
文档参考: UIAbilityContext.startAbility
代码示例:
3. 使用 openAtomicService
快速拉起原子服务(免安装)
适用于:快速使用元服务,如 Grab 打车、学习通学习、笔记整理等
文档参考: UIExtensionContext.openAtomicService
代码示例:
4. 使用 FullScreenLaunchComponent
实现嵌入式拉起(沉浸式)
适用于:被拉起方授权后,在调用方中嵌入式运行元服务(如花瓣地图打开安居客)
注意事项:
调试阶段需要开启开发者模式下的元服务豁免设置。
需目标服务支持 ArkTS
FullScreenLaunchComponent
接入,主动的进行一定的适配。HarmonyOS 6 之前兼容性较差。
文档参考: FullScreenLaunchComponent
代码示例:
三、使用建议与总结
HarmonyOS 提供了丰富的拉起能力,应根据目标组件的安装状态、是否为元服务、是否授权、是否需沉浸式交互等因素,合理选择最合适的拉起方式。希望这篇文章对你在实际开发中的接入与排查有所帮助!
后面也将继续为大家分享这几种拉起方式在实际中的应用场景,如果需要后续支持「参数传递方式」、「拉起失败兜底策略」、「应用市场跳转兼容性」等更深入的内容,欢迎留言交流!
版权声明: 本文为 InfoQ 作者【鸿蒙魔法师】的原创文章。
原文链接:【http://xie.infoq.cn/article/6e1ae4982863082b74c98180c】。文章转载请联系作者。
评论