news 2026/7/29 16:39:35

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HarmonyOS应用开发实战:猫猫大作战-startAbility 启动 Ability

前言

startAbility是 HarmonyOS 中启动另一个 Ability 的 API。在「猫猫大作战」中,startAbility 用于打开设置页跳转到好友信息启动分享等。

一、startAbility 基础

import{common,Want}from'@kit.AbilityKit';asyncfunctionstartSettings(context:common.UIAbilityContext):Promise<void>{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{constcatId=want.parameters?.catIdasstring;constcatLevel=want.parameters?.catLevelasnumber;console.info(`查看猫咪:${catId}, 等级:${catLevel}`);}

三、startAbility vs router

特性startAbilityrouter.push
页面切换Ability 级Page 级
动画系统默认可自定义
传参Want.parametersrouter.params
场景跨模块跳转同模块页面

四、最佳实践

  1. 参数传递:使用parameters字段
  2. 错误处理:try-catch 捕获启动失败
  3. 指定 bundleName:明确目标应用
  4. 启动前检查:canIUse 判断能力是否可用

总结

startAbility 启动另一个 Ability,支持携带参数。核心要点:Want配置目标、parameters传参、startAbility(want)启动

如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、关注🔔,你的支持是我持续创作的动力!


相关资源:

  • startAbility 文档
  • 第 108 篇:event-hub
  • 第 110 篇:start-by-type
  • 第 111 篇:engine-class
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/29 16:37:03

Python+OpenCV实现树莓派摄像头网络流共享与远程处理

1. 项目缘起&#xff1a;为什么需要跨设备共享摄像头数据&#xff1f; 最近在折腾一个智能家居的监控项目&#xff0c;遇到了一个挺典型的场景&#xff1a;我的主力开发机是一台性能不错的PC&#xff0c;但摄像头却装在了角落的树莓派上。我需要用PC上的OpenCV程序来处理树莓派…

作者头像 李华
网站建设 2026/7/29 16:35:11

零基础转行Agent开发需要掌握哪些基础?这份学习指南你一定

最近很多人问我转行agent开发是如何转的&#xff0c;零基础能学吗&#xff1f;今天我就说一下我的经验。 在转agent开发之前我已经干了三四年Java开发了&#xff0c;在刚接触AI Agent相关的知识和技术的时候还是很好理解的&#xff0c;学习的速度也更快一些。而且在转Agent开发…

作者头像 李华
网站建设 2026/7/29 16:29:56

Vibe Coding:你的数字外骨骼

人机协作&#xff0c;仅供参考&#xff08;Vibe Coding的五个场景&#xff09;在Vibe Coding的语境下&#xff0c;AI不再是冷冰冰的工具&#xff0c;而是懂你需求的默契搭档。懂业务的非技术人&#xff1a;你满脑子创意与逻辑&#xff0c;却被代码门槛拦在门外。Vibe Coding让想…

作者头像 李华
网站建设 2026/7/29 16:28:06

GetQzonehistory:三步实现QQ空间历史说说完整备份的终极解决方案

GetQzonehistory&#xff1a;三步实现QQ空间历史说说完整备份的终极解决方案 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在数字记忆日益珍贵的今天&#xff0c;QQ空间承载了我们太多…

作者头像 李华
网站建设 2026/7/29 16:27:13

扣子定时任务配置深度解析(企业级稳定调度内幕首次公开)

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;扣子定时任务配置深度解析&#xff08;企业级稳定调度内幕首次公开&#xff09; 扣子&#xff08;Coze&#xff09;平台的定时任务能力并非简单的 Cron 封装&#xff0c;而是基于分布式任务队列与幂等性保障机…

作者头像 李华
网站建设 2026/7/29 16:25:50

Unity UGUI ContentSizeFitter源码深度解析:从原理到性能优化

1. 项目概述&#xff1a;为什么我们要深入ContentSizeFitter的源码&#xff1f;在Unity UGUI的日常开发中&#xff0c;ContentSizeFitter这个组件几乎是处理动态尺寸UI的“瑞士军刀”。无论是聊天框根据文本自动撑开&#xff0c;还是按钮根据内部图标和文字自适应宽度&#xff…

作者头像 李华