2024年3月27日发(作者:)
鸿蒙系统系统剪贴板服务
用户通过系统剪贴板服务,可实现应用之间的简单数据传递。
例如:在应用A中复制的数据,可以在应用B中粘贴,反之亦可。
(1)HarmonyOS提供了系统剪贴板服务的操作接口,支持用户
程序从系统剪贴板中读取、写入和查询剪贴板数据,以及添加、移
除系统剪贴板数据变化的回调。
(2)HarmonyOS提供了剪贴板数据的对象定义,包含内容对象
和属性对象。
1.场景说明
同一设备的应用程序A、B之间可以借助系统剪贴板服务完成简
单数据的传递,即应用程序A向剪贴板服务写入数据后,应用程序B
可以从中读取数据,如图3-89所示。
图3-89 剪贴板服务示意图
在使用剪贴板服务时,需要注意以下几点:
(1)只有在前台获取焦点的应用才有读取系统剪贴板的权限,
但系统默认输入法应用除外。
(2)写入剪贴板服务中的剪贴板数据不会随应用程序结束而被
销毁。
(3)对同一用户而言,写入剪贴板服务的数据会被下一次写入
的剪贴板数据所覆盖。
(4)在同一设备内,剪贴板单次传递内容不应超过800KB。
2.接口说明
SystemPasteboard提供了系统剪贴板操作的相关接口,例如复
制、粘贴、配置回调等。PasteData是剪贴板服务操作的数据对象,
一个PasteData由若干个内容节点(PasteData. Record)和一个属
性集合对象(operty)组成。Record是存放剪贴
板数据信息的最小单位,每个Record都有其特定的MIME类型,如纯
文本、HTML、URI、Intent等。剪贴板数据的属性信息存放在
DataProperty中,包括标签、时间戳等。
3.SystemPasteboard
SystemPasteboard提供了系统剪贴板服务的操作接口,例如复
制、粘贴、配置回调等,如表3-11所示。
表3-11 SystemPasteboard提供系统剪贴板操作的相关接口
4.开发步骤
应用A获取系统剪贴板服务,代码如下:
应用A向系统剪贴板中写入一条纯文本数据,代码如下:
应用B从系统剪贴板读取数据,并将数据对象中的首个文本类
型(纯文本/HTML)内容信息在控件中显示,但忽略其他类型内容,
如代码示例3-61所示。
代码示例3-61 应用B从系统剪贴板读取数据
应用C注册添加系统剪贴板数据变化回调,当系统剪贴板数据
发生变化时触发处理逻辑,如代码示例3-62所示。
代码示例3-62 应用C注册添加系统剪贴板数据变化回调


发布评论