l***@processon.com
l***@processon.com
  • 发布:2025-12-08 18:03
  • 更新:2025-12-08 18:04
  • 阅读:14

UTSHarmony.onAppAbilityCreate 不触发

分类:uni-app x

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

hbuilder版本:4.87.2025112602-alpha、mac平台

2025-12-08 18:03 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

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

原因分析:

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

解决方案:

  1. 优先使用 onLaunch 获取参数
    app.jsonLaunch 回调中直接读取启动参数(冷启动唯一触发点),无需额外监听 onAppAbilityCreate。示例:

    export default {  
     onLaunch(options) {  
       console.log('冷启动参数:', options); // 此处处理分享文件逻辑  
     }  
    }  
  2. 检查 UTS 插件实现
    若必须用 UTS 插件,按知识库指导:

    • uni_modules 下创建 UTS 插件(API 插件类型)。
    • 编辑 utssdk/app-harmony/index.uts 文件,实现参数监听逻辑(参考文档)。
    • 确保插件被正确引入并在 onLaunch 中调用。
  3. 版本兼容性
    您使用的 HBuilderX 4.87.2025112602-alpha(alpha 版)高于文档要求的 4.81+,应支持冷启动参数获取。若仍无效,检查 DevEco Studio 版本(需 5.1.1.823+ 以支持热重载)。

建议:

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

要回复问题请先登录注册