如何将内容直接复制到剪贴板
2024-11-08 14:40:03
128次阅读
0个评论
如何将内容直接复制到剪贴板
剪贴板为开发者提供数据的复制粘贴能力。
当需要使用复制粘贴等功能时,例如:复制文字内容到备忘录中粘贴,复制图库照片到文件管理粘贴,就可以通过剪贴板来完成。但是大家在申请剪贴板权限的时候,发现不是很好申请,但是我们是不是可以换个思路,将内容直接复制到剪贴板,然后操作,
import { pasteboard } from '@kit.BasicServicesKit';
import { promptAction } from '@kit.ArkUI';
@Entry
@Component
struct CopyText {
private textContent: string = '复制坚果派';
build() {
Column() {
Text(this.textContent)
.fontSize(50)
.onClick(() => copyText(this.textContent))
}
.width('100%')
.height('100%')
.justifyContent(FlexAlign.Center)
}
}
function copyText(text: string) {
const pasteboardData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, text);
const systemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.setData(pasteboardData); // 将数据放入剪切板
systemPasteboard.getData().then((data) => {
if (data) {
promptAction.showToast({ message: '复制成功' });
} else {
promptAction.showToast({ message: '复制失败' });
}
})
}
约束
- 剪贴板内容大小<128MB。
- 为保证剪贴板数据的准确性,同一时间只能支持一个复制操作。
- 剪贴板当前支持的数据类型有文本、HTML、URI、Want、PixelMap。
参考
备注
作者:夏天
来源:坚果派
著作权归作者所有,禁止任何未经授权的个人或组织以任何形式将本案例集及其附属资料、创新、创意、架构设计、算法、衍生作品等用于任何商业目的、盈利活动、各类竞赛(比赛)、直播教学、录播教学、线下课程、书籍编写、教材编写、会议、培训、公益活动、项目课题、毕业设计、毕业论文、学术论文等。商业转载请联系作者获得授权,非商业转载请注明出处。否则追究相关责任。
01