HarmonyOS 鸿蒙Next HAR和HSP模块内跳转和跨模块跳转以及跨应用跳转

发布于 1周前 作者 itying888 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Beta应用框架基础探索:HAR和HSP模块内跳转和跨模块跳转以及跨应用跳转

1. 模块内跳转

2. 跨模块跳转

3. 跨应用跳转

一个应用包含一个或者多个Module,可以在DevEcoStudio工程中创建一个或者多个Module,Module又分为 “Ability” 和 “Library”两种类型,“Ability”类型的Module对应于编译后的HAP(Harmony Ability Package);“Library” 类型的Module对应于HAR (Harmony Archive),或者HSP (Harmony Shared Package)。

App Pack

应用上架格式,发布到应用市场的基本单元可以包含多设备的编译产物(HAP、HSP)

HAP (Harmony Ability Package ) 应用安装和运行的基本单元

主要使用场景

  • -Entry:应用的主模块,用于实现应用的入口界面、入口图标、主特性功能等
  • -Feature:应用的特性模块,用于实现应用的特性

HSP (Harmony Shared Package) 动态共享包,运行时复用

主要使用场景 一多模块(HAP或者HSP)共用的代码、资源可以使用HSP,提高代码的 可重用性和可维护性

  • 元服务分包预加载
  • 按需加载,HSP包在运行时再按需加载

HAR (Harmony Archive)静态共享包,编译态复用

主要使用场景

  • 作为二方库,发布到OHPM私仓,供公司内部其他应用依赖使用
  • 作为三方库,发布到OHPM鸿蒙中心仓,供其他应用依赖使用

启动其他应用的UIAbility

启动其他应用的UIAbility,通常用户只需要完成一个通用的操作(例如需要选择一个文档应用来查看某个文档的内容信息,推荐使用隐式Want启动。系统会根据调用方的want参数来识别和启动匹配到的应用UIAbility。

启动UIAbility有显式Want启动和隐式Want启动两种方式。

  • 显式Want启动:启动一个确定应用的UIAbility,在want参数中需要设置该应用bundleName和abilityName,当需要拉起某个明确的UIAbility时,通常使用显式Want启动方式
  • 隐式Want启动:根据匹配条件由用户选择启动哪一个UIAbility,即不明确指出要启动哪一个UIAbility(abilityName參数未设置),在调用startAbilty()方法时,其入参want中指定了一系列的entities字段(表示目标UIAbility额外的类别信息,如浏览器、视频播放器)和actions字段(表示要执行的通用操作,如查看、分享、应用详情等)等参数信息,然后由系统去分析want,并帮助找到合适的UIAbility来启动。当需要拉起其他应用的UIAbility时,开发者通常不知道用户设备中应用的安装情况,也无法确定目标应用的bundleName和abilityName,通常使用隐式Want启动方式
1 回复

针对HarmonyOS鸿蒙Next Beta应用框架基础探索中的HAR和HSP模块内跳转、跨模块跳转以及跨应用跳转问题,以下是一些专业解答:

HAR(Harmony Archive)为静态共享包,主要作为二方库或三方库使用,支持编译态复用。在HAR模块内跳转,可通过显式或隐式Want启动目标Ability。

HSP(Harmony Shared Package)为动态共享包,支持运行时复用,适用于多模块共用的代码和资源。HSP模块内跳转同样依赖于显式或隐式Want。

跨模块跳转时,需确保目标模块已正确绑定编译,并配置相应的路由信息。跨应用跳转则涉及不同应用间的交互,需使用隐式Want,并配置相应的skills和uris,以便系统能够识别并启动目标应用。

请注意,以上信息基于HarmonyOS鸿蒙Next Beta的当前版本,后续版本可能有所更新。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部