想在应用里用分布式能力,不用从零造轮子:鸿蒙提供了完整接口,接入流程是固定的“四步曲”——声明、发现、调用、释放。
第一步:声明能力
在 module.json5 里声明应用需要的分布式能力:如多设备协同、数据同步、设备连接。声明时也配置权限,系统根据声明校验调用合法性。
能力声明是“你告诉系统你要用什么”,不声明就不能用,这是安全机制的一部分。

第二步:设备发现
调用前先发现可用设备:通过系统接口获取同账号、可协同的设备列表,展示给用户选择,或按规则自动选择目标设备。
设备列表是动态的:设备随时上线、下线,要监听设备状态变化,及时更新列表和可用性。
第三步:调用能力
根据能力类型调用:传数据(消息、文件)、流转任务、调用远端硬件。调用是异步的,要通过回调或 Promise 处理结果。
调用前检查目标设备是否支持该能力(比如老设备不支持某特性),不支持就给用户明确提示。

第四步:释放与容错
使用结束释放资源:断开连接、停止监听,避免资源泄漏。调用失败、设备断开、网络中断,都要有完善的容错处理,不能崩、不能卡。
分布式调用的失败率比本地调用高,重试、降级、提示三件套是标配。
工程实践建议
把分布式调用封装成工具层:统一处理发现、连接、重试、日志,业务代码只关心“发什么、收什么”。封装得好,后面换接口、加能力都省心。
分布式能力接入不神秘:声明、发现、调用、释放,四步走顺,你的应用就具备了跨设备的“超能力”。