HarmonyOS应用开发案例 剪贴板功能实现

粘贴版是一个常用的功能,用户通过系统剪贴板服务,可实现应用之间的简单数据传递。例如:在应用a中复制的数据,可以在应用b中粘贴,反之亦可。
效果如图:
关键代码如下:
public class pasteboardutils { private static final hiloglabel tag = new hiloglabel(hilog.log_app,0x0,蛟龙腾飞--粘贴版); private systempasteboard pasteboard; public pasteboardutils(context context) { initpasteboard(context); } // 复制到粘贴板 public void copytext(string text) { pasteboard.setpastedata(pastedata.creatplaintextdata(text)); } // 粘贴 public string pastetext() { string result = ; pastedata pastedata = pasteboard.getpastedata(); if (pastedata == null) { return result; } pastedata.dataproperty dataproperty = pastedata.getproperty(); boolean hashtml = dataproperty.hasmimetype(pastedata.mimetype_text_html); boolean hastext = dataproperty.hasmimetype(pastedata.mimetype_text_plain); if (hashtml || hastext) { for (int i = 0; i < pastedata.getrecordcount(); i++) { pastedata.record record = pastedata.getrecordat(i); string mimetype = record.getmimetype(); if (mimetype.equals(pastedata.mimetype_text_html)) { result = record.gethtmltext(); } else if (mimetype.equals(pastedata.mimetype_text_plain)) { result = record.getplaintext().tostring(); } else { hilog.info(tag, %{public}s, getpastedata mimetype : + mimetype); } } } return result; } // 监听粘贴版内容 private final ipastedatachangedlistener listener = new ipastedatachangedlistener() { @override public void onchanged() { pastedata pastedata = pasteboard.getpastedata(); if (pastedata != null) { hilog.info(tag,粘贴版内容改变:+pastedata); } } }; // 清空粘贴板 public void clearpasteboard(component component) { if (pasteboard != null) { pasteboard.clear(); } } //初始化 private void initpasteboard(context context) { pasteboard = systempasteboard.getsystempasteboard(context); pasteboard.addpastedatachangedlistener(listener); }}
基于区块链技术的全球性粉丝生态平台FANS介绍
如何构造系统的三总线
印制电路板(PCB)布线在高速电路中具有关键的作用
微软提出了计划要支持Microsoft Store的应用商店原则的十诫
2019第一季全球前十大IC设计厂商排名出炉,多数企业营收衰退
HarmonyOS应用开发案例 剪贴板功能实现
Xilinx SDSoC开发环境面向公众开放
JESD204协议标准的分类和区别
PPLive成Adworld 2010最大赢家 ‘百事群音’
英特尔-与埃森哲和苏鲁巴伊环境基金会合作
中科创达在苏州投资成立新公司,经营范围含AI业务等
法国开发出超低铂含量的燃料电池电极
RK3568开发板外接超声波传感器测距模块
【渗漏治理】简单五步就解决变压器漏油的问题
德国联邦政府出台了“高科技战略2025”,旨在加大促进科研和创新
传谷歌启动战略对抗欧盟,游说美国盟友加大抵制力度
陶瓷PTC与有机PTC的性能比较
持续促进5G与工业互联网融合的几点建议
为何说“连接”是楼宇数字化升级之门
2016年全球半导体设备销售额增长13%