uni-app UTSHarmony.onAppAbilityCreate 不触发

uni-app UTSHarmony.onAppAbilityCreate 不触发

鸿蒙开发,UTSHarmony.onAppAbilityCreate 方法
冷启动在任何场景(插件、onLaunchonShow)都不触发。我是用来接收分享文件用,热启动 onAppAbilityNewWant 正常

信息 描述
开发工具 HBuilder X
版本号 4.87.2025112602-alpha
平台 Mac


更多关于uni-app UTSHarmony.onAppAbilityCreate 不触发的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

根据问题描述和知识库内容,UTSHarmony.onAppAbilityCreate 在鸿蒙冷启动时不触发,但热启动的 onAppAbilityNewWant 正常,这通常是因为冷启动参数获取应通过 onLaunch 生命周期处理,而非直接依赖 onAppAbilityCreate。
原因分析:

鸿蒙冷启动对应 onCreate 生命周期,但 uni-app 封装后需通过 onLaunch 获取启动参数(知识库明确说明:冷启动参数在 onLaunch 中返回,与 getLaunchOptionsSync 一致)。
UTSHarmony.onAppAbilityCreate 并非标准 uni-app API,可能由自定义 UTS 插件实现。若插件未正确注册或逻辑有误,会导致冷启动不触发。

解决方案:

优先使用 onLaunch 获取参数 在 app.js 的 onLaunch 回调中直接读取启动参数(冷启动唯一触发点),无需额外监听 onAppAbilityCreate。示例:
export default {
onLaunch(options) {
console.log(‘冷启动参数:’, options); // 此处处理分享文件逻辑
}
}

检查 UTS 插件实现 若必须用 UTS 插件,按知识库指导:

在 uni_modules 下创建 UTS 插件(API 插件类型)。
编辑 utssdk/app-harmony/index.uts 文件,实现参数监听逻辑(参考文档)。
确保插件被正确引入并在 onLaunch 中调用。

版本兼容性 您使用的 HBuilderX 4.87.2025112602-alpha(alpha 版)高于文档要求的 4.81+,应支持冷启动参数获取。若仍无效,检查 DevEco Studio 版本(需 5.1.1.823+ 以支持热重载)。

建议:

直接使用 onLaunch 处理冷启动分享逻辑,避免依赖非标准 API。
若需深度定制,搜索插件市场 分享功能插件,或参考鸿蒙启动参数文档。
确认是否因条件编译问题导致代码未执行(鸿蒙平台需用 APP-HARMONY 编译,而非 APP-PLUS)。 内容为 AI 生成,仅供参考

更多关于uni-app UTSHarmony.onAppAbilityCreate 不触发的实战教程也可以访问 https://www.itying.com/category-93-b0.html


目前onAppAbilityCreate只能在鸿蒙原生对应的生命周期之前调用才能触发,尽量放在uts插件的最外层

请问最外层是指哪里,我utssdk/app-harmony/index.uts中吗,我尝试过也不行。

回到顶部