鸿蒙新特性:@ohos.sensor 传感器实验室实战 —— 光照/接近/方向/重力实时数据流与订阅管理
引言手机里藏着多少传感器加速度计、陀螺仪、环境光传感器、接近光传感器、方向传感器、重力传感器、气压计、湿度计、霍尔传感器、心率传感器、计步器……这些微型元件构成了设备感知物理世界的感官系统。HarmonyOS NEXT 通过ohos.sensor模块将这些传感器的数据流统一暴露给开发者让我们可以在应用内实时获取设备周围的环境信息和运动状态。ohos.sensor属于kit.SensorServiceKit提供了 20 多种传感器类型的统一访问接口。最让人惊喜的是它的权限模型——光照、接近光、方向、重力、磁场、气压、湿度、霍尔、温度等传感器无需任何权限即可订阅。这意味着你可以自由地读取环境光强度来自动调节 UI 亮度、检测设备方向来适配横竖屏、监听接近事件来优化通话体验——这些都不需要用户授权。本文将深入讲解ohos.sensor的传感器订阅机制、数据响应结构、上报频率控制并构建一个传感器实验室Demo在一个页面中同时监控 4 种免权限传感器的实时数据流。一、API 架构基于回调的传感器数据流1.1 核心设计理念ohos.sensor的核心设计可以概括为三个字订、收、退。订通过sensor.on(type, callback, options?)订阅指定传感器类型的数据流收通过callback回调函数持续接收传感器事件每个事件携带测量值和元数据退通过sensor.off(type, callback?)取消订阅释放传感器资源这三个操作构成了完整的传感器交互闭环先订阅感兴趣的传感器类型在回调中处理实时数据页面销毁时取消订阅释放资源。1.2 SensorId 枚举——传感器类型全景图sensor.SensorId枚举定义了所有可用的传感器类型枚举值数值说明需要权限ACCELEROMETER1加速度传感器ACCELEROMETERGYROSCOPE2陀螺仪传感器GYROSCOPEAMBIENT_LIGHT5环境光传感器无MAGNETIC_FIELD6磁场传感器无BAROMETER8气压传感器无HALL10霍尔传感器无PROXIMITY12接近光传感器无HUMIDITY13湿度传感器无ORIENTATION256方向传感器无GRAVITY257重力传感器无LINEAR_ACCELEROMETER258线性加速度ACCELEROMETERROTATION_VECTOR259旋转矢量传感器无AMBIENT_TEMPERATURE260环境温度传感器无HEART_RATE—心率传感器READ_HEALTH_DATAPEDOMETER—计步器传感器ACTIVITY_MOTION在 Demo 页面中我们选择了 4 种既无需权限又在大多数设备上可用的传感器环境光、接近光、方向和重力。1.3 数据响应结构——Response 继承体系所有传感器数据对象都继承自Response基类interfaceResponse{timestamp:number;// 事件时间戳Unix 毫秒accuracy:number;// 数据精度等级}各传感器类型在此基础上扩展各自的测量字段。我们重点介绍 4 种免权限传感器的响应结构LightResponse环境光——光照强度和色温interfaceLightResponseextendsResponse{intensity:number;// 光照强度单位 luxcolorTemperature?:number;// 色温单位 kelvinAPI 12infraredLuminance?:number;// 红外亮度API 12}光照强度的典型值暗室 10 lux室内照明 100-500 lux阴天户外 1000-5000 lux晴天户外 10000-25000 lux直射阳光 50000 lux。应用可以根据intensity值来动态调整 UI 亮度或切换深色/浅色主题。ProximityResponse接近光——物体与屏幕的距离interfaceProximityResponseextendsResponse{distance:number;// 0 表示贴近如打电话时耳朵靠近 0 表示远离}接近传感器最常见的应用场景是通话时检测到手机贴近耳朵后自动息屏防止面部误触。在 Demo 中我们将其二值化为贴近和远离两种状态。OrientationResponse方向——设备在三维空间中的旋转角度interfaceOrientationResponseextendsResponse{alpha:number;// 绕 Z 轴旋转角度方位角beta:number;// 绕 X 轴旋转角度俯仰角gamma:number;// 绕 Y 轴旋转角度翻转角}三个角度对应欧拉角旋转可以用于指南针、水平仪、AR 定位等场景。GravityResponse重力——重力加速度在三个轴上的分量interfaceGravityResponseextendsResponse{x:number;// 重力在 X 轴的分量m/s²y:number;// 重力在 Y 轴的分量m/s²z:number;// 重力在 Z 轴的分量m/s²}当手机平放在桌面上时x≈0, y≈0, z≈-9.8。通过重力分量的变化可以判断设备的摆放姿态。1.4 SensorFrequency——上报频率控制sensor.on()的第三个参数options可以控制传感器数据的上报频率interfaceOptions{interval?:number|SensorFrequency;}typeSensorFrequencygame|ui|normal;game最高频率适合游戏等需要高实时性的场景ui中等频率适合 UI 动画等场景normal普通频率适合一般监控场景也是默认值也可以直接指定毫秒数值如{ interval: 200 }表示每 200ms 上报一次在 Demo 中我们使用ui频率平衡实时性和性能sensor.on(sensor.SensorId.AMBIENT_LIGHT,(data:sensor.LightResponse){this.currentLightdata.intensity;},{interval:ui});二、核心 API 详解2.1 sensor.on() —— 订阅传感器数据流functionon(type:SensorId,callback:CallbackT,options?:Options):void;on()接受传感器类型、回调函数和可选配置。订阅成功后传感器数据会通过callback持续推送。回调函数的参数类型依赖于type的具体值——TypeScript 的类型系统会确保你传入正确的回调签名// 光照传感器 → LightResponsesensor.on(sensor.SensorId.AMBIENT_LIGHT,(data:sensor.LightResponse){console.log(光照强度:,data.intensity,lux);});// 接近光传感器 → ProximityResponsesensor.on(sensor.SensorId.PROXIMITY,(data:sensor.ProximityResponse){console.log(距离状态:,data.distance0?贴近:远离);});// 方向传感器 → OrientationResponsesensor.on(sensor.SensorId.ORIENTATION,(data:sensor.OrientationResponse){console.log(方位角:,data.alpha,俯仰:,data.beta,翻转:,data.gamma);});需要注意的是如果设备上没有对应的传感器硬件on()会抛出BusinessError 14500101服务异常。在实际开发中建议使用 try-catch 包裹订阅操作并对不支持的传感器做降级处理。2.2 sensor.off() —— 取消订阅functionoff(type:SensorId,callback?:CallbackT):void;off()用于停止接收指定传感器类型的数据。如果传入了callback则只取消该特定回调如果不传callback则取消该传感器类型的所有订阅。这非常关键——传感器是共享的硬件资源持续监听会消耗电量。必须在页面销毁时aboutToDisappear调用off()释放资源aboutToDisappear():void{// 遍历所有活跃的传感器订阅逐一取消for(leti0;ithis.channels.length;i){if(this.channels[i].active){sensor.off(this.channels[i].id,this.callbacks.get(this.channels[i].id));}}}2.3 回调管理模式由于on()和off()需要传入同一个回调引用才能精确取消订阅推荐使用Map来管理回调函数privatecallbacks:Mapnumber,CallbackObjectnewMap();// 订阅时保存回调引用privatesubscribeSensor(id:number):void{constcb:CallbackObject(data:Object){this.onSensorData(id,data);};this.callbacks.set(id,cb);sensor.on(id,cb,{interval:ui});}// 取消订阅时使用保存的回调引用privateunsubscribeSensor(id:number):void{constcbthis.callbacks.get(id);sensor.off(id,cb);this.callbacks.delete(id);}这个模式确保每个传感器的订阅和取消订阅使用完全相同的回调函数引用避免资源泄漏。三、权限模型深度解析3.1 免权限传感器以下传感器无需任何权限即可订阅环境感知类AMBIENT_LIGHT光照、AMBIENT_TEMPERATURE温度、BAROMETER气压、HUMIDITY湿度运动姿态类ORIENTATION方向、GRAVITY重力、ROTATION_VECTOR旋转矢量状态检测类PROXIMITY接近、HALL霍尔、MAGNETIC_FIELD磁场这些传感器提供的是设备周围环境信息和自身运动状态不属于用户隐私数据。HarmonyOS 的设计原则是只要不涉及用户可被识别的个人数据就开放自由访问。3.2 需要权限的传感器以下传感器需要声明对应权限传感器所需权限说明ACCELEROMETER加速度ohos.permission.ACCELEROMETER高频运动数据可推测用户行为GYROSCOPE陀螺仪ohos.permission.GYROSCOPE精确旋转数据可用于定位追踪HEART_RATE心率ohos.permission.READ_HEALTH_DATA健康数据高度敏感PEDOMETER计步器ohos.permission.ACTIVITY_MOTION运动活动数据3.3 权限声明方式如需使用需要权限的传感器在module.json5中声明{requestPermissions:[{name:ohos.permission.ACCELEROMETER,reason:用于检测设备运动状态以提供体感交互功能,usedScene:{abilities:[EntryAbility],when:inuse}}]}对于 Demo 中的 4 种免权限传感器不需要任何声明即可直接使用。四、实战 Demo传感器实验室本节构建一个完整的传感器实验室在一个页面中同时监控 4 种传感器的实时数据流。4.1 页面设计页面分为五个功能区域传感器监控4 个传感器卡片每个卡片显示传感器名称、图标、实时数据和订阅状态。通过 Toggle 开关独立控制每个传感器的订阅/取消订阅。全部订阅/取消两个快捷按钮一键订阅全部传感器或取消全部订阅。权限说明展示免权限传感器列表和需要权限的传感器列表帮助开发者理解权限模型。数据日志毫秒级时间戳 传感器名称 实时数据值的完整事件记录。API 概述页面底部的知识卡片总结核心 API 和使用要点。4.2 核心实现数据结构定义——SensorChannel描述每个传感器通道interfaceSensorChannel{id:number;// SensorId 枚举值label:string;// 中文标签unit:string;// 单位value:string;// 当前值格式化后active:boolean;// 是否已订阅detail:string;// 详细数据如方向的 beta/gamma}订阅/取消订阅切换——Toggle 开关驱动privatetoggleSensor(id:number):void{constidxthis.getChannelIndex(id);constchthis.channels[idx];if(ch.active){this.unsubscribeSensor(id);}else{this.subscribeSensor(id);}}传感器数据路由——根据传感器类型分派到对应的格式化逻辑privateonSensorData(id:number,data:Object):void{letvalStr;letdetailStr;if(idsensor.SensorId.AMBIENT_LIGHT){constddataassensor.LightResponse;valStrd.intensity.toFixed(0) lux;if(d.colorTemperature!undefined){detailStr色温: d.colorTemperatureK;}}elseif(idsensor.SensorId.PROXIMITY){constddataassensor.ProximityResponse;valStrd.distance0?贴近:远离(d.distance.toFixed(1)cm);}elseif(idsensor.SensorId.ORIENTATION){constddataassensor.OrientationResponse;valStrd.alpha.toFixed(1)°;detailStrβ: d.beta.toFixed(1)° γ: d.gamma.toFixed(1)°;}elseif(idsensor.SensorId.GRAVITY){constddataassensor.GravityResponse;valStrX:d.x.toFixed(2) Y:d.y.toFixed(2);detailStrZ: d.z.toFixed(2);}// 更新对应的通道状态this.updateChannel(id,valStr,detailStr);this.addLog(this.getSensorLabel(id),valStr);}这里的关键技巧是使用as类型断言将Object类型的data转换为具体的传感器响应类型然后访问特定字段。资源释放——页面销毁时取消所有活跃订阅aboutToDisappear():void{for(leti0;ithis.channels.length;i){if(this.channels[i].active){sensor.off(this.channels[i].id,this.callbacks.get(this.channels[i].id));}}}4.3 交互方式Demo 提供四个核心交互点独立订阅切换每个传感器卡片右侧有一个 Toggle 开关点击即可开启/关闭该传感器的数据流。开启后卡片下方显示● 监听中状态指示实时数据动态更新。一键全部订阅/取消两个快捷按钮让用户可以一次性操作所有传感器免去逐个点击的繁琐。实时数据观察开启的传感器会持续推送数据卡片上的数值实时刷新。环境光以 lux 为单位显示接近传感器区分贴近和远离方向传感器显示三轴欧拉角重力传感器显示三轴加速度分量。数据日志追踪页面底部的日志区域记录每一次传感器事件包含毫秒级时间戳、传感器标签和数据值。用户可以直观地看到传感器的数据变化频率。五、ArkTS 严格模式注意事项5.1 Callback 类型标注sensor.on()的回调参数类型必须是具体的传感器响应类型// 正确明确指定回调参数类型sensor.on(sensor.SensorId.AMBIENT_LIGHT,(data:sensor.LightResponse){this.intensitydata.intensity;});// 错误使用 any 或 unknownsensor.on(sensor.SensorId.AMBIENT_LIGHT,(data){// arkts-no-any-unknownthis.intensitydata.intensity;});5.2 数组状态更新ArkTS 严格模式下更新State数组需要构建完整的新数组// 正确构建新数组constupdated:SensorChannel[][];for(leti0;ithis.channels.length;i){if(iidx){updated.push({id:ch.id,label:ch.label,unit:ch.unit,value:valStr,active:true,detail:detailStr});}else{updated.push(this.channels[i]);}}this.channelsupdated;5.3 类型化变量先声明在ForEach和回调中使用局部变量时必须先声明类型// 正确显式声明类型constentry:SensorLog{time:ts,sensor:label,value:msg};constnewLogs:SensorLog[][entry];this.logsnewLogs.concat(this.logs).slice(0,50);六、实际应用场景6.1 自动亮度适配 UIprivateadjustUIForLight(intensity:number):void{if(intensity50){// 暗光环境启用深色主题 降低屏幕亮度this.isDarkModetrue;this.brightnessLevel0.3;}elseif(intensity10000){// 强光环境提高对比度 增大字体this.isHighContrasttrue;this.fontScale1.2;}else{// 正常环境使用默认设置this.isDarkModefalse;this.isHighContrastfalse;}}6.2 通话时自动息屏sensor.on(sensor.SensorId.PROXIMITY,(data:sensor.ProximityResponse){if(data.distance0this.isInCall){// 贴近耳朵关闭屏幕this.screenOnfalse;}elseif(data.distance0this.isInCall){// 离开耳朵点亮屏幕this.screenOntrue;}});6.3 水平仪效果sensor.on(sensor.SensorId.GRAVITY,(data:sensor.GravityResponse){// 计算设备与水平面的夹角consttiltAngleMath.abs(Math.atan2(Math.sqrt(data.x*data.xdata.y*data.y),Math.abs(data.z))*(180/Math.PI));if(tiltAngle5){this.levelStatus水平;}else{this.levelStatus倾斜 tiltAngle.toFixed(1)°;}});七、总结ohos.sensor是 HarmonyOS NEXT 中连接应用与设备传感器硬件的桥梁。通过本文的学习你应该已经掌握传感器全景通过SensorId枚举访问 20 多种传感器类型其中光照、接近光、方向、重力等 10 种无需任何权限即可订阅订阅与取消sensor.on(type, callback, options?)订阅数据流sensor.off(type, callback?)释放资源回调管理使用 Map 存储引用数据响应结构各传感器类型的响应对象继承Response基类timestamp accuracy并扩展各自的测量字段频率控制通过Options.interval配置上报频率支持game/ui/normal三种预设或自定义毫秒值权限模型免权限传感器可直接使用加速度/陀螺仪/心率/计步器需要声明对应权限ohos.sensor的最佳使用模式可以总结为按需订阅回调处理数据页面销毁即取消永远不要忘记 off()。这个订阅-处理-释放的三步模式覆盖了传感器使用的完整生命周期。传感器是共享硬件资源持续监听会消耗电量。在实际开发中建议只在需要时订阅如页面可见时在不需要时如页面切后台立即取消。将传感器数据作为应用体验增强的辅助信号而非核心依赖——因为不是所有设备都搭载了全部传感器类型。做好降级处理你的应用将在各种设备环境下展现出更智能、更贴心的体验品质。

相关新闻

VESC Tool完全指南:掌握开源无刷电机控制器的终极配置工具

VESC Tool完全指南:掌握开源无刷电机控制器的终极配置工具

VESC Tool完全指南:掌握开源无刷电机控制器的终极配置工具 【免费下载链接】vesc_tool The source code for VESC Tool. See vesc-project.com 项目地址: https://gitcode.com/gh_mirrors/ve/vesc_tool 想象一下,你手中的无刷电机控制器就像一台高…

2026/8/11 7:53:53 阅读更多 →
Selenium自动化ChatGPT Web端:实战避坑与状态管理指南

Selenium自动化ChatGPT Web端:实战避坑与状态管理指南

1. 项目概述:当Selenium遇上ChatGPT 最近在折腾一个挺有意思的自动化项目:用Selenium去驱动ChatGPT的Web端进行自动化对话。这听起来可能有点“杀鸡用牛刀”的感觉,毕竟ChatGPT本身就有强大的API。但实际场景中,这个需求还真不少。…

2026/8/11 0:52:09 阅读更多 →
Windows系统性能优化终极指南:AtlasOS四大驱动工具深度实战

Windows系统性能优化终极指南:AtlasOS四大驱动工具深度实战

Windows系统性能优化终极指南:AtlasOS四大驱动工具深度实战 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and usability. 项目地址: https://gitcode.com/GitHub_Trending…

2026/8/8 6:37:07 阅读更多 →

最新新闻

Vue项目品牌定制化实践与优化方案

Vue项目品牌定制化实践与优化方案

1. 为什么需要定制Vue项目的Logo和名称? 每个Vue项目初始化时都会自带默认的Vue logo和项目名称,这就像新买的笔记本贴着厂商的标签一样。但在实际开发中,我们需要把这些"品牌标识"替换成自己产品的视觉元素。常见场景包括&#xf…

2026/8/11 12:57:50 阅读更多 →
Windows苹果触控板驱动终极方案:mac-precision-touchpad深度解析与实战指南

Windows苹果触控板驱动终极方案:mac-precision-touchpad深度解析与实战指南

Windows苹果触控板驱动终极方案:mac-precision-touchpad深度解析与实战指南 【免费下载链接】mac-precision-touchpad Windows Precision Touchpad Driver Implementation for Apple MacBook / Magic Trackpad 项目地址: https://gitcode.com/gh_mirrors/ma/mac-p…

2026/8/11 12:57:50 阅读更多 →
如何在Obsidian中快速集成Draw.io图表插件:终极可视化笔记解决方案

如何在Obsidian中快速集成Draw.io图表插件:终极可视化笔记解决方案

如何在Obsidian中快速集成Draw.io图表插件:终极可视化笔记解决方案 【免费下载链接】drawio-obsidian Draw.io plugin for obsidian.md 项目地址: https://gitcode.com/gh_mirrors/dr/drawio-obsidian 想要在Obsidian笔记中直接创建专业流程图、架构图和思维…

2026/8/11 12:57:50 阅读更多 →
FanControl深度指南:5个Windows风扇控制技巧让电脑更安静高效

FanControl深度指南:5个Windows风扇控制技巧让电脑更安静高效

FanControl深度指南:5个Windows风扇控制技巧让电脑更安静高效 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Tren…

2026/8/11 12:57:50 阅读更多 →
多品类开源商城源码横向盘点|PHP/Java 双栈选型指南,适配私域、跨境、企业私有化部署

多品类开源商城源码横向盘点|PHP/Java 双栈选型指南,适配私域、跨境、企业私有化部署

导读当下电商赛道细分场景持续爆发:品牌私域小程序,同城本地生活、跨境出海商城、集团多商户平台、软件外包交付项目需求激增。自研商城周期长、成本高,开源私有化源码成为绝大多数企业的最优解。但市面上商城框架品类繁杂,PHP、J…

2026/8/11 12:57:50 阅读更多 →
Magisk华为设备Root实战手册:破解EMUI系统限制的终极指南

Magisk华为设备Root实战手册:破解EMUI系统限制的终极指南

Magisk华为设备Root实战手册:破解EMUI系统限制的终极指南 【免费下载链接】Magisk The Magic Mask for Android 项目地址: https://gitcode.com/GitHub_Trending/ma/Magisk 你是否曾经面对华为设备上那令人头疼的Bootloader锁和EMUI系统限制,感觉…

2026/8/11 12:56:50 阅读更多 →

日新闻

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/v…

2026/8/11 0:00:02 阅读更多 →
前后端分离项目中控制台与接口工具数据差异排查指南

前后端分离项目中控制台与接口工具数据差异排查指南

1. 问题现象解析:控制台与Apifox的数据差异 最近在调试一个前后端分离项目时,遇到了一个典型问题:后端服务在本地开发环境控制台能正常输出查询数据,但通过Apifox测试时却返回空结果。这种"控制台有数据,接口工具…

2026/8/11 0:00:03 阅读更多 →
AI编程实战:从Claude Code踩坑到游戏开发入门

AI编程实战:从Claude Code踩坑到游戏开发入门

1. 从“AI能帮我做游戏”到“AI让我重新学编程”最近身边不少朋友,尤其是一些非技术背景、但对游戏开发有浓厚兴趣的朋友,都在问我同一个问题:“听说现在用Claude Code这种AI编程工具,小白也能做游戏了,是真的吗&#…

2026/8/11 0:00:03 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/11 1:08:05 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/11 1:08:05 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/11 1:08:05 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/10 17:07:33 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/11 1:08:06 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/10 17:07:33 阅读更多 →