您需要先 登录 才能评论/回答

全部评论(2)
解决方案
对于没有UIAbility但依然提供可跳转页面的模块,应该考虑使用Library类型的HSP实现相应的功能,从UIAbility跳转HSP中的页面可参考下列方式:
router.pushUrl({
url: '@bundle:com.example.hmservice/library/ets/pages/menu'
}).then(() => {
console.log("push page success");
}).catch(err => {
console.error(`pushUrl failed, code is ${err.code}, message is ${err.message}`);
})
其中router.pushUrl方法的入参中url的内容模板为:
'@bundle:包名(bundleName)/模块名(moduleName)/路径/页面所在的文件名(不加.ets后缀)'
参考链接

2024-01-19 11:01:10
问题描述
现在有模块A,B。A模块为Entry类型,其中有个UIAbility,有pages。B模块是Feature类型,没有UIAbility,但是有pages。整个App只想使用一个UIAbility的情况下,A模块怎么跳转到B模块的页面。
内容澄清
●Module分为“Ability”和“Library”两种类型:“Ability”类型的Module对应于编译后的HAP;“Library”类型的Module对应于HAR或者HSP
●HAP可分为Entry和Feature两种类型:Entry类型的HAP是应用的主模块,通常用于实现应用的入口界面、入口图标、主特性功能等;Feature类型的HAP是应用的动态特性模块,通常用于实现应用的特性功能,可以配置成按需下载安装。
●HAR静态共享包,和HSP动态共享包,都是为了实现代码和资源的共享,都可以包含代码、C++库、资源和配置文件。其中HAR不支持在配置文件中声明pages页面,HSP支持配置pages页面。

2024-01-19 10:59:12