HarmonyOS鸿蒙Next中ArkTS Api9如何使用剪贴板功能?

HarmonyOS鸿蒙Next中ArkTS Api9如何使用剪贴板功能?

语言:ArkTS
Api版本:9
需求:手机应用内生成分享链接,需要将链接以纯文本的形式复制到剪切板,然后可以随处粘贴
问题:无法使用,设置与粘贴都不生效
包:@ohos.pasteboard

const shardedUrl = response.toString()
const pasteboardData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, shardedUrl)
const systemPasteboard = pasteboard.getSystemPasteboard()
systemPasteboard.setData(pasteboardData)
systemPasteboard.setPasteData(pasteboardData)
systemPasteboard.getPasteData().then((data) => {
    promptAction.showToast({ message: data.getPrimaryText(), bottom: 50 })
})
// systemPasteboard.getData().then((data) => {
//   promptAction.showToast({ message: data.getPrimaryText(), bottom: 150 })
// })

更多关于HarmonyOS鸿蒙Next中ArkTS Api9如何使用剪贴板功能?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

问题已处理,暂不知具体原因,只是把设备缓存清了就可以了,

更多关于HarmonyOS鸿蒙Next中ArkTS Api9如何使用剪贴板功能?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


感谢您的反馈。

在HarmonyOS鸿蒙Next中,使用ArkTS Api9实现剪贴板功能可以通过@ohos.pasteboard模块来完成。首先,需要导入pasteboard模块:

import pasteboard from '@ohos.pasteboard';

接下来,可以使用pasteboard.getSystemPasteboard()方法获取系统剪贴板实例:

let systemPasteboard = pasteboard.getSystemPasteboard();

要写入文本数据到剪贴板,可以使用pasteboard.createPlainTextData()方法创建纯文本数据,并通过systemPasteboard.setData()方法将其写入剪贴板:

let textData = pasteboard.createPlainTextData('Hello, HarmonyOS!');
systemPasteboard.setData(textData);

要从剪贴板读取文本数据,可以使用systemPasteboard.getData()方法获取剪贴板中的数据,并通过pasteboard.PasteData对象的getPlainText()方法获取纯文本内容:

let pasteData = systemPasteboard.getData();
if (pasteData !== null) {
  let text = pasteData.getPlainText();
  console.log('Text from clipboard: ' + text);
}

此外,pasteboard.PasteData还支持其他类型的数据,如图片、URI等,可以通过相应的方法进行操作。

以上就是在HarmonyOS鸿蒙Next中使用ArkTS Api9实现剪贴板功能的基本步骤。

在HarmonyOS鸿蒙Next中使用ArkTS Api9的剪贴板功能,可以通过@ohos.pasteboard模块实现。首先导入模块,然后使用getSystemPasteboard获取系统剪贴板实例。通过readText方法读取剪贴板文本,或使用writeText方法写入文本。示例代码如下:

import pasteboard from '@ohos.pasteboard';

let systemPasteboard = pasteboard.getSystemPasteboard();

// 写入文本
systemPasteboard.writeText('Hello, HarmonyOS!');

// 读取文本
systemPasteboard.readText().then((data) => {
  console.log('Clipboard text: ' + data);
});
回到顶部