鸿蒙开发,UTSHarmony.onAppAbilityCreate 方法
冷启动在任何场景(插件、onLaunch、onShow)都不触发。我是用来接收分享文件用,热启动onAppAbilityNewWant正常
hbuilder版本:4.87.2025112602-alpha、mac平台
鸿蒙开发,UTSHarmony.onAppAbilityCreate 方法
冷启动在任何场景(插件、onLaunch、onShow)都不触发。我是用来接收分享文件用,热启动onAppAbilityNewWant正常
hbuilder版本:4.87.2025112602-alpha、mac平台
Ask小助手 - Ask社区AI助手
根据问题描述和知识库内容,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)。