首页 经验

诗词速通,漫游泡泡,词汇宝,新维日语,简易物理,点此下载


Service Collaboration Kit 的功能

时间: 2026-04-15 11:24:21

(部分内容来自网络,其真实性存疑,为了避免对您造成误导,请谨慎甄别。)

看你发的这两个链接和搜到的资料,Service Collaboration Kit 的本质就是:让你在设备A上,直接调用设备B的特定系统能力(相机、扫描、图库),并把结果拿回来。

它的底层依赖非常清晰,不是什么通用的数据传输框架,而是一个专用于能力调用的封装。




一、底层依赖什么?


从你发的官方文档和搜索结果来看,底层依赖就三层:


第1层:分布式软总线 (Soft Bus)

- 这是最底层,负责设备发现、连接、组网、数据传输

- 官方文档原文:"系统分布式协同框架跨设备自动建链。系统将自动完成设备的发现、连接、认证等流程"

- 开发者不需要管Wi-Fi/蓝牙怎么连、数据怎么传,系统全包了


第2层:分布式设备管理 (DMS)

- 负责设备认证、上下线监听、设备信息查询

- 你调用 GetCollaborationDeviceInfos 时,底层就是DMS在工作

- 前置条件:同账号 + 开Wi-Fi/蓝牙


第3层:Service Collaboration Kit 封装层

- 这就是你看到的API:createCollaborationServiceMenuItemsCollaborationServiceStateDialog

- 把底层的设备发现、连接、数据传输、结果回传,全部封装成3个接口

- 官方文档原话:"只需要调用这三个接口,即可完成跨端拍照,无需关注分布式场景下数据传输、指令控制等具体细节"




二、架构图(从底到顶)


┌─────────────────────────────────────────────────────────┐

│              你的应用 (Your App)                         │

│   调用 createCollaborationServiceMenuItems + Dialog     │

├─────────────────────────────────────────────────────────┤

│           Service Collaboration Kit (封装层)             │

│   接口:GetCollaborationDeviceInfos                      │

│         StartCollaboration / StopCollaboration          │

│         onState 回调接收数据                             │

├─────────────────────────────────────────────────────────┤

│         分布式设备管理 (DMS)                              │

│   设备发现、认证、上下线监听、设备信息查询                 │

├─────────────────────────────────────────────────────────┤

│            分布式软总线 (Soft Bus)                        │

│   Wi-Fi/蓝牙统一通信、数据传输、加密通道                   │

└─────────────────────────────────────────────────────────┘




三、这个Kit能干什么?(就是3个能力)


根据官方API文档:


能力枚举值说明
跨设备拍照TAKE_PHOTO平板调用手机相机,拍完照传回平板
文档扫描SCAN_DOCUMENT调用远端设备的扫描能力
图库选择IMAGE_PICKER调用远端设备的图库,选照片传回来


就这么三个能力。没有通用数据传输,没有文件同步,没有自定义数据通道。




四、不能干什么?(重要)


根据官方文档的约束:


1. 不能传自定义数据:你只能拿到拍照的图片、扫描的文档、图库选的图片。不能自己定义传输任意数据。

2. 调用策略限制死:官方明确写了"2in1设备可以调用平板和手机,平板可以调用手机,同类型设备不可调用"。手机不能调用手机,平板不能调用平板。

3. 不能传大文件:虽然能传图片,但底层通过ArrayBuffer回传,有内存限制。




五、跟你要的"设备间传数据文件"的关系


结论:完全不是你要的东西。


你要的Service Collaboration Kit
任意设备间传任意数据/文件❌ 只能传拍照/扫描/图库选中的图片
自己控制传输内容❌ 只能拿到系统返回的固定格式
通用数据传输通道❌ 专用于调用特定系统能力


这个Kit的设计目标就是:让2in1设备(平板/电脑)能调用手机的相机和图库。 仅此而已。


官方文档原话:"平板或2in1设备可以调用手机的相机、扫描、图库等功能。" 从头到尾就这一个场景。




六、总结


问题答案
底层依赖什么?分布式软总线 + 分布式设备管理
核心接口是什么?GetCollaborationDeviceInfosStartCollaborationonState回调
能干什么?跨设备拍照、扫描文档、选图库图片(仅此三项)
能传自定义数据/文件吗?不能
跟你要的功能有关系吗?没有关系


一句话:Service Collaboration Kit 就是一个"跨设备调用相机图库"的专用工具包,底层跑在软总线上,但不是通用数据传输方案。


你要的"设备间传数据文件",这个Kit干不了。还得回到分布式文件系统 + KVStore那条路。


还有问题,向AI提问。


上一个 HarmonyOS 分布式数据同步完整架构 文章列表 下一个 同应用跨设备同步数据

(汉语/英语/日语/法语/德语)语音助手(识别/合成),智能翻译,高中物理动画,数据分析,数据可视化,电话: 18201798243(同v)

© 2019-至今 适观科技

沪ICP备17002269号