HarmonyOS应用开发实战:猫猫大作战-startAbility 启动 Ability

📅 2026/7/29 16:39:37
HarmonyOS应用开发实战:猫猫大作战-startAbility 启动 Ability
前言startAbility是 HarmonyOS 中启动另一个 Ability 的 API。在「猫猫大作战」中startAbility 用于打开设置页、跳转到好友信息、启动分享等。一、startAbility 基础import{common,Want}fromkit.AbilityKit;asyncfunctionstartSettings(context:common.UIAbilityContext):Promisevoid{constwant:Want{deviceId:,// 空表示本设备bundleName:com.maomaodazuozhan.game,abilityName:SettingsAbility,parameters:{from:main_menu,},};try{awaitcontext.startAbility(want);console.info(设置页面已启动);}catch(err){console.error(启动失败:${err.message});}}二、传递参数// 启动时携带参数constwant:Want{bundleName:com.maomaodazuozhan.game,abilityName:DetailAbility,parameters:{catId:cat_001,catLevel:3,fromPage:game_board,},};// 目标 Ability 接收参数// EntryAbility.etsonCreate(want:Want):void{constcatIdwant.parameters?.catIdasstring;constcatLevelwant.parameters?.catLevelasnumber;console.info(查看猫咪:${catId}, 等级:${catLevel});}三、startAbility vs router特性startAbilityrouter.push页面切换Ability 级Page 级动画系统默认可自定义传参Want.parametersrouter.params场景跨模块跳转同模块页面四、最佳实践参数传递使用parameters字段错误处理try-catch 捕获启动失败指定 bundleName明确目标应用启动前检查canIUse 判断能力是否可用总结startAbility 启动另一个 Ability支持携带参数。核心要点Want配置目标、parameters传参、startAbility(want)启动。如果这篇文章对你有帮助欢迎点赞、收藏⭐、关注你的支持是我持续创作的动力相关资源startAbility 文档第 108 篇event-hub第 110 篇start-by-type第 111 篇engine-class