harmony 鸿蒙@ohos.pasteboard (剪贴板)

  • 2022-08-09
  • 浏览 (1005)

@ohos.pasteboard (剪贴板)

本模块主要提供管理系统剪贴板的能力,为系统复制、粘贴功能提供支持。系统剪贴板支持对文本、HTML、URI、Want、PixelMap等内容的操作。

说明:

本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import pasteboard from '@ohos.pasteboard';

常量

系统能力: SystemCapability.MiscServices.Pasteboard

名称 类型 说明
MAX_RECORD_NUM7+ number - API version 10之前,此常量值为512,表示单个PasteData中所能包含的最大条目数为512。当剪贴板内容中添加的条目达到数量上限512后,后续的添加操作无效。
从API version 10开始,不再限制单个PasteData中所能包含的最大条目数。
MIMETYPE_TEXT_HTML7+ string ‘text/html’ HTML内容的MIME类型定义。
MIMETYPE_TEXT_WANT7+ string ‘text/want’ Want内容的MIME类型定义。
MIMETYPE_TEXT_PLAIN7+ string ‘text/plain’ 纯文本内容的MIME类型定义。
MIMETYPE_TEXT_URI7+ string ‘text/uri’ URI内容的MIME类型定义。
MIMETYPE_PIXELMAP9+ string ‘pixelMap’ PixelMap内容的MIME类型定义。

ValueType9+

用于表示允许的数据字段类型。

系统能力: SystemCapability.MiscServices.Pasteboard

类型 说明
string 表示string的类型。
image.PixelMap 表示image.PixelMap的类型。
Want 表示Want的类型。
ArrayBuffer 表示ArrayBuffer的类型。

pasteboard.createData9+

createData(mimeType: string, value: ValueType): PasteData

构建一个自定义类型的剪贴板内容对象。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
mimeType string 剪贴板数据对应的MIME类型,可以是常量中已定义的类型,包括HTML类型,WANT类型,纯文本类型,URI类型,PIXELMAP类型;也可以是自定义的MIME类型,开发者可自定义此参数值。
value ValueType 自定义数据内容。

返回值:

类型 说明
PasteData 剪贴板内容对象。

示例1:

  let dataXml = new ArrayBuffer(256);
  let pasteData: pasteboard.PasteData = pasteboard.createData('app/xml', dataXml);

示例2:

 let dataText = 'hello';
 let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, dataText);

pasteboard.createRecord9+

createRecord(mimeType: string, value: ValueType):PasteDataRecord;

创建一条自定义数据内容条目。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
mimeType string 剪贴板数据对应的MIME类型,可以是常量中已定义的类型,包括HTML类型,WANT类型,纯文本类型,URI类型,PIXELMAP类型;也可以是自定义的MIME类型,开发者可自定义此参数值。
value ValueType 自定义数据内容。

返回值:

类型 说明
PasteDataRecord 一条新建的自定义数据内容条目。

示例1:

let dataXml = new ArrayBuffer(256);
let pasteDataRecord: pasteboard.PasteDataRecord = pasteboard.createRecord('app/xml', dataXml);

示例2:

let dataUri = 'dataability:///com.example.myapplication1/user.txt';
let record: pasteboard.PasteDataRecord = pasteboard.createRecord(pasteboard.MIMETYPE_TEXT_URI, dataUri);

pasteboard.getSystemPasteboard

getSystemPasteboard(): SystemPasteboard

获取系统剪贴板对象。

系统能力: SystemCapability.MiscServices.Pasteboard

返回值:

类型 说明
SystemPasteboard 系统剪贴板对象。

示例:

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();

ShareOption9+

可粘贴数据的范围类型枚举。

系统能力: SystemCapability.MiscServices.Pasteboard

名称 说明
INAPP 0 表示仅允许同应用内粘贴。
LOCALDEVICE 1 表示允许在此设备中任何应用内粘贴。
CROSSDEVICE 2 表示允许跨设备在任何应用内粘贴。

pasteboard.createHtmlData(deprecated)

createHtmlData(htmlText: string): PasteData

构建一个HTML剪贴板内容对象。 > 说明: > > 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用pasteboard.createData替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
htmlText string HTML内容。

返回值:

类型 说明
PasteData 剪贴板内容对象。

示例:

let html = "<!DOCTYPE html>\n" + "<html>\n" + "<head>\n" + "<meta charset=\"utf-8\">\n" + "<title>HTML-PASTEBOARD_HTML</title>\n" + "</head>\n" + "<body>\n" + "    <h1>HEAD</h1>\n" + "    <p></p>\n" + "</body>\n" + "</html>";
let pasteData: pasteboard.PasteData = pasteboard.createHtmlData(html);

pasteboard.createWantData(deprecated)

createWantData(want: Want): PasteData

构建一个Want剪贴板内容对象。 > 说明: > > 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用pasteboard.createData替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
want Want Want内容。

返回值:

类型 说明
PasteData 剪贴板内容对象。

示例:

import Want from '@ohos.app.ability.Want';

let object: Want = {
    bundleName: "com.example.aafwk.test",
    abilityName: "com.example.aafwk.test.TwoAbility"
};
let pasteData: pasteboard.PasteData = pasteboard.createWantData(object);

pasteboard.createPlainTextData(deprecated)

createPlainTextData(text: string): PasteData

构建一个纯文本剪贴板内容对象。 > 说明: > > 从 API Version 6 开始支持,从 API Version 9 开始废弃,建议使用pasteboard.createData替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
text string 纯文本内容。

返回值:

类型 说明
PasteData 剪贴板内容对象。

示例:

let pasteData: pasteboard.PasteData = pasteboard.createPlainTextData('content');

pasteboard.createUriData(deprecated)

createUriData(uri: string): PasteData

构建一个URI剪贴板内容对象。 > 说明: > > 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用pasteboard.createData替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
uri string URI内容。

返回值:

类型 说明
PasteData 剪贴板内容对象。

示例:

let pasteData: pasteboard.PasteData = pasteboard.createUriData('dataability:///com.example.myapplication1/user.txt');

pasteboard.createHtmlTextRecord(deprecated)

createHtmlTextRecord(htmlText: string): PasteDataRecord

创建一条HTML内容的条目。 > 说明: > > 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用pasteboard.createRecord替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
htmlText string HTML内容。

返回值:

类型 说明
PasteDataRecord 一条新建的HTML内容条目。

示例:

let html = "<!DOCTYPE html>\n" + "<html>\n" + "<head>\n" + "<meta charset=\"utf-8\">\n" + "<title>HTML-PASTEBOARD_HTML</title>\n" + "</head>\n" + "<body>\n" + "    <h1>HEAD</h1>\n" + "    <p></p>\n" + "</body>\n" + "</html>";
let record: pasteboard.PasteDataRecord = pasteboard.createHtmlTextRecord(html);

pasteboard.createWantRecord(deprecated)

createWantRecord(want: Want): PasteDataRecord

创建一条Want内容条目。 > 说明: > > 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用pasteboard.createRecord替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
want Want Want内容。

返回值:

类型 说明
PasteDataRecord 一条新建的Want内容条目。

示例:

import Want from '@ohos.app.ability.Want';

let object: Want = {
    bundleName: "com.example.aafwk.test",
    abilityName: "com.example.aafwk.test.TwoAbility"
};
let record: pasteboard.PasteDataRecord = pasteboard.createWantRecord(object);

pasteboard.createPlainTextRecord(deprecated)

createPlainTextRecord(text: string): PasteDataRecord

创建一条纯文本内容条目。 > 说明: > > 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用pasteboard.createRecord替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
text string 纯文本内容。

返回值:

类型 说明
PasteDataRecord 一条新建的纯文本内容条目。

示例:

let record: pasteboard.PasteDataRecord = pasteboard.createPlainTextRecord('hello');

pasteboard.createUriRecord(deprecated)

createUriRecord(uri: string): PasteDataRecord

创建一条URI内容的条目。 > 说明: > > 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用pasteboard.createRecord替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
uri string URI内容。

返回值:

类型 说明
PasteDataRecord 一条新建的URI内容条目。

示例:

let record: pasteboard.PasteDataRecord = pasteboard.createUriRecord('dataability:///com.example.myapplication1/user.txt');

PasteDataProperty7+

定义了剪贴板中所有内容条目的属性,包含时间戳、数据类型、粘贴范围以及一些附加数据等, 该属性必须通过setProperty方法,才能设置到剪贴板中。

系统能力: SystemCapability.MiscServices.Pasteboard

名称 类型 可读 可写 说明
additions7+ {[key:string]:object} 设置其他附加属性数据。不支持动态追加属性,只能通过重新赋值的方式修改附加值,具体见相关示例setProperty。
mimeTypes7+ Array&lt;string&gt; 剪贴板内容条目的数据类型,非重复的类型列表。
tag7+ string 用户自定义标签。
timestamp7+ number 剪贴板数据的写入时间戳(单位:ms)。
localOnly7+ boolean 配置剪贴板内容是否为“仅在本地”,默认值为false。其值会被shareOption属性覆盖,推荐使用shareOption属性。ShareOption.INAPP、ShareOption.LOCALDEVICE会将localOnly设置为true,ShareOption.CROSSDEVICE会将localOnly设置为false。
- 配置为true时,表示内容仅在本地,不会在设备之间传递。
- 配置为false时,表示内容将在设备间传递。
shareOption9+ ShareOption 指示剪贴板数据可以粘贴到的范围,如果未设置或设置不正确,则默认值为CROSSDEVICE。

PasteDataRecord7+

对于剪贴板中内容记录的抽象定义,称之为条目。剪贴板内容部分由一个或者多个条目构成,例如一条文本内容、一份HTML、一个URI或者一个Want。

属性

系统能力: SystemCapability.MiscServices.Pasteboard

名称 类型 可读 可写 说明
htmlText7+ string HTML内容。
want7+ Want Want内容。
mimeType7+ string 数据类型。
plainText7+ string 纯文本内容。
uri7+ string URI内容。
pixelMap9+ image.PixelMap PixelMap内容。
data9+ {[mimeType:&nbsp;string]:&nbsp;ArrayBuffer} 自定义数据内容。

toPlainText9+

toPlainText(): string

将一个PasteData中的内容强制转换为文本内容。

系统能力: SystemCapability.MiscServices.Pasteboard

返回值:

类型 说明
string 纯文本内容。

示例:

let record: pasteboard.PasteDataRecord = pasteboard.createRecord(pasteboard.MIMETYPE_TEXT_URI, 'dataability:///com.example.myapplication1/user.txt');
let data: string = record.toPlainText();
console.info(`Succeeded in converting to text. Data: ${data}`);

convertToText(deprecated)

convertToText(callback: AsyncCallback&lt;string&gt;): void

将一个PasteData中的内容强制转换为文本内容,使用callback异步回调。 > 说明: > > 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用toPlainText替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
callback AsyncCallback&lt;string&gt; 回调函数,当转换成功,err为undefined,data为强制转换的文本内容;否则返回错误信息。

示例:

import { BusinessError } from '@ohos.base';

let record: pasteboard.PasteDataRecord = pasteboard.createUriRecord('dataability:///com.example.myapplication1/user.txt');
record.convertToText((err: BusinessError, data: string) => {
    if (err) {
        console.error(`Failed to convert to text. Cause: ${err.message}`);
        return;
    }
    console.info(`Succeeded in converting to text. Data: ${data}`);
});

convertToText(deprecated)

convertToText(): Promise&lt;string&gt;

将一个PasteData中的内容强制转换为文本内容,使用Promise异步回调。 > 说明: > > 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用toPlainText替代。

系统能力: SystemCapability.MiscServices.Pasteboard

返回值:

类型 说明
Promise&lt;string&gt; Promise对象,返回强制转换的文本内容。

示例:

import { BusinessError } from '@ohos.base';

let record: pasteboard.PasteDataRecord = pasteboard.createUriRecord('dataability:///com.example.myapplication1/user.txt');
record.convertToText().then((data: string) => {
    console.info(`Succeeded in converting to text. Data: ${data}`);
}).catch((err: BusinessError) => {
    console.error(`Failed to convert to text. Cause: ${err.message}`);
});

PasteData

剪贴板内容对象。剪贴板内容包含一个或者多个内容条目(PasteDataRecord)以及属性描述对象(PasteDataProperty)。

在调用PasteData的接口前,需要先通过createData()getData()获取一个PasteData对象。

系统能力: SystemCapability.MiscServices.Pasteboard

getPrimaryText

getPrimaryText(): string

获取首个条目的纯文本内容。

系统能力: SystemCapability.MiscServices.Pasteboard

返回值:

类型 说明
string 纯文本内容。

示例:

let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, 'hello');
let plainText: string = pasteData.getPrimaryText();

getPrimaryHtml7+

getPrimaryHtml(): string

获取首个条目的HTML内容。

系统能力: SystemCapability.MiscServices.Pasteboard

返回值:

类型 说明
string HTML内容。

示例:

let html = "<!DOCTYPE html>\n" + "<html>\n" + "<head>\n" + "<meta charset=\"utf-8\">\n" + "<title>HTML-PASTEBOARD_HTML</title>\n" + "</head>\n" + "<body>\n" + "    <h1>HEAD</h1>\n" + "    <p></p>\n" + "</body>\n" + "</html>";
let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_HTML, html);
let htmlText: string = pasteData.getPrimaryHtml();

getPrimaryWant7+

getPrimaryWant(): Want

获取首个条目的Want对象内容。

系统能力: SystemCapability.MiscServices.Pasteboard

返回值:

类型 说明
Want Want对象内容。

示例:

import Want from '@ohos.app.ability.Want';

let object: Want = {
    bundleName: "com.example.aafwk.test",
    abilityName: "com.example.aafwk.test.TwoAbility"
};
let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_WANT, object);
let want: Want = pasteData.getPrimaryWant();

getPrimaryUri7+

getPrimaryUri(): string

获取首个条目的URI内容。

系统能力: SystemCapability.MiscServices.Pasteboard

返回值:

类型 说明
string URI内容。

示例:

let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, 'dataability:///com.example.myapplication1/user.txt');
let uri: string = pasteData.getPrimaryUri();

getPrimaryPixelMap9+

getPrimaryPixelMap(): image.PixelMap

获取首个条目的PixelMap内容。

系统能力: SystemCapability.MiscServices.Pasteboard

返回值:

类型 说明
image.PixelMap PixelMap内容。

示例:

import image from '@ohos.multimedia.image';

let buffer = new ArrayBuffer(128);
let realSize: image.Size = { height: 3, width: 5 };
let opt: image.InitializationOptions = {
    size: realSize,
    pixelFormat: 3,
    editable: true,
    alphaType: 1,
    scaleMode: 1
};
image.createPixelMap(buffer, opt).then((pixelMap: image.PixelMap) => {
    let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_PIXELMAP, pixelMap);
    let PixelMap: image.PixelMap = pasteData.getPrimaryPixelMap();
});

addRecord7+

addRecord(record: PasteDataRecord): void

向当前剪贴板内容中添加一条条目,同时也会将条目类型添加到PasteDataProperty的mimeTypes中。入参均不能为空,否则添加失败。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
record PasteDataRecord 待添加的条目。

示例:

let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, 'dataability:///com.example.myapplication1/user.txt');
let textRecord: pasteboard.PasteDataRecord = pasteboard.createRecord(pasteboard.MIMETYPE_TEXT_PLAIN, 'hello');
let html: string = "<!DOCTYPE html>\n" + "<html>\n" + "<head>\n" + "<meta charset=\"utf-8\">\n" + "<title>HTML-PASTEBOARD_HTML</title>\n" + "</head>\n" + "<body>\n" + "    <h1>HEAD</h1>\n" + "    <p></p>\n" + "</body>\n" + "</html>";
let htmlRecord: pasteboard.PasteDataRecord = pasteboard.createRecord(pasteboard.MIMETYPE_TEXT_HTML, html);
pasteData.addRecord(textRecord);
pasteData.addRecord(htmlRecord);

addRecord9+

addRecord(mimeType: string, value: ValueType): void

向当前剪贴板内容中添加一条自定义数据内容条目,同时也会将自定义数据类型添加到PasteDataProperty的mimeTypes中。入参均不能为空,否则添加失败。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
mimeType string 自定义数据的MIME类型。
value ValueType 自定义数据内容。

错误码:

以下错误码的详细介绍请参见剪贴板错误码

错误码ID 错误信息
12900002 The number of record exceeds the maximum limit.

示例:

  let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_URI, 'dataability:///com.example.myapplication1/user.txt');
  let dataXml = new ArrayBuffer(256);
  pasteData.addRecord('app/xml', dataXml);

getMimeTypes7+

getMimeTypes(): Array&lt;string&gt;

获取剪贴板中PasteDataProperty的mimeTypes列表,当剪贴板内容为空时,返回列表为空。

系统能力: SystemCapability.MiscServices.Pasteboard

返回值:

类型 说明
Array&lt;string&gt; 剪贴板内容条目的数据类型,非重复的类型列表。

示例:

let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, 'hello');
let types: string[] = pasteData.getMimeTypes();

getPrimaryMimeType7+

getPrimaryMimeType(): string

获取剪贴板内容中首个条目的数据类型。

系统能力: SystemCapability.MiscServices.Pasteboard

返回值:

类型 说明
string 首个条目的数据类型。

示例:

let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, 'hello');
let type: string = pasteData.getPrimaryMimeType();

getProperty7+

getProperty(): PasteDataProperty

获取剪贴板内容的属性描述对象。

系统能力: SystemCapability.MiscServices.Pasteboard

返回值:

类型 说明
PasteDataProperty 属性描述对象。

示例:

let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, 'hello');
let property: pasteboard.PasteDataProperty = pasteData.getProperty();

setProperty9+

setProperty(property: PasteDataProperty): void

设置剪贴板内容的属性描述对象PasteDataProperty

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
property PasteDataProperty 属性描述对象。

示例:

type AdditionType = Record<string, Record<string, Object>>;

let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_HTML, 'application/xml');
let prop: pasteboard.PasteDataProperty = pasteData.getProperty();
prop.shareOption = pasteboard.ShareOption.INAPP;
// 需要注意,不支持对addition进行追加属性的操作,只能通过重新赋值的方式达到追加属性的目的。
prop.additions = { 'TestOne': { 'Test': 123 }, 'TestTwo': { 'Test': 'additions' } } as AdditionType;
prop.tag = 'TestTag';
pasteData.setProperty(prop);

PasteDataProperty的localOnly与shareOption属性互斥,最终结果以shareOption为准,shareOption会影响localOnly的值。

(async () => {
    let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, 'hello');
    let prop: pasteboard.PasteDataProperty = pasteData.getProperty();
    prop.shareOption = pasteboard.ShareOption.INAPP;
    prop.localOnly = false;
    pasteData.setProperty(prop);
    let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();

    await systemPasteboard.setData(pasteData).then(async () => {
        console.info('Succeeded in setting PasteData.');
        await systemPasteboard.getData().then((pasteData: pasteboard.PasteData) => {
            let prop: pasteboard.PasteDataProperty = pasteData.getProperty();
            prop.localOnly; // true
        });
    });

    prop.shareOption = pasteboard.ShareOption.LOCALDEVICE;
    prop.localOnly = false;
    pasteData.setProperty(prop);

    await systemPasteboard.setData(pasteData).then(async () => {
        console.info('Succeeded in setting PasteData.');
        await systemPasteboard.getData().then((pasteData: pasteboard.PasteData) => {
            let prop: pasteboard.PasteDataProperty = pasteData.getProperty();
            prop.localOnly; // true
        });
    });

    prop.shareOption = pasteboard.ShareOption.CROSSDEVICE;
    prop.localOnly = true;
    pasteData.setProperty(prop);

    await systemPasteboard.setData(pasteData).then(async () => {
        console.info('Succeeded in setting PasteData.');
        await systemPasteboard.getData().then((pasteData: pasteboard.PasteData) => {
            let prop: pasteboard.PasteDataProperty = pasteData.getProperty();
            prop.localOnly; // false
        });
    });
})()

getRecord9+

getRecord(index: number): PasteDataRecord

获取剪贴板内容中指定下标的条目。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
index number 指定条目的下标。

返回值:

类型 说明
PasteDataRecord 指定下标的条目。

错误码:

以下错误码的详细介绍请参见剪贴板错误码

错误码ID 错误信息
12900001 The index is out of the record.

示例:

let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, 'hello');
let record: pasteboard.PasteDataRecord = pasteData.getRecord(0);

getRecordCount7+

getRecordCount(): number

获取剪贴板内容中条目的个数。

系统能力: SystemCapability.MiscServices.Pasteboard

返回值:

类型 说明
number 条目的个数。

示例:

let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, 'hello');
let count: number = pasteData.getRecordCount();

getTag7+

getTag(): string

获取剪贴板内容中用户自定义的标签内容,如果没有设置用户自定义的标签内容将返回空。

系统能力: SystemCapability.MiscServices.Pasteboard

返回值:

类型 说明
string 返回用户自定义的标签内容,如果没有设置用户自定义的标签内容,将返回空。

示例:

let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, 'hello');
let tag: string = pasteData.getTag();

hasType9+

hasType(mimeType: string): boolean

检查剪贴板内容中是否有指定的MIME数据类型。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
mimeType string 待查询的数据类型。

返回值:

类型 说明
boolean 有指定的数据类型返回true,否则返回false。

示例:

let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, 'hello');
let hasType: boolean = pasteData.hasType(pasteboard.MIMETYPE_TEXT_PLAIN);

removeRecord9+

removeRecord(index: number): void

移除剪贴板内容中指定下标的条目。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
index number 指定的下标。

错误码:

以下错误码的详细介绍请参见剪贴板错误码

错误码ID 错误信息
12900001 The index is out of the record.

示例:

let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, 'hello');
pasteData.removeRecord(0);

replaceRecord9+

replaceRecord(index: number, record: PasteDataRecord): void

替换剪贴板内容中指定下标的条目。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
index number 指定的下标。
record PasteDataRecord 新条目的内容。

错误码:

以下错误码的详细介绍请参见剪贴板错误码

错误码ID 错误信息
12900001 The index is out of the record.

示例:

let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, 'hello');
let record: pasteboard.PasteDataRecord = pasteboard.createRecord(pasteboard.MIMETYPE_TEXT_URI, 'dataability:///com.example.myapplication1/user.txt');
pasteData.replaceRecord(0, record);

addHtmlRecord(deprecated)

addHtmlRecord(htmlText: string): void

向当前剪贴板内容中添加一条HTML内容条目,并将MIMETYPE_TEXT_HTML添加到PasteDataProperty的mimeTypes中。入参均不能为空,否则添加失败。

说明:

从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用addRecord替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
htmlText string HTML内容。

示例:

let pasteData: pasteboard.PasteData = pasteboard.createPlainTextData('hello');
let html: string = "<!DOCTYPE html>\n" + "<html>\n" + "<head>\n" + "<meta charset=\"utf-8\">\n" + "<title>HTML-PASTEBOARD_HTML</title>\n" + "</head>\n" + "<body>\n" + "    <h1>HEAD</h1>\n" + "    <p></p>\n" + "</body>\n" + "</html>";
pasteData.addHtmlRecord(html);

addWantRecord(deprecated)

addWantRecord(want: Want): void

向当前剪贴板内容中添加一条Want条目,并将MIMETYPE_TEXT_WANT添加到PasteDataProperty的mimeTypes中。入参均不能为空,否则添加失败。

说明:

从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用addRecord替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
want Want Want对象内容。

示例:

import Want from '@ohos.app.ability.Want';

let pasteData: pasteboard.PasteData = pasteboard.createPlainTextData('hello');
let object: Want = {
    bundleName: "com.example.aafwk.test",
    abilityName: "com.example.aafwk.test.TwoAbility"
};
pasteData.addWantRecord(object);

addTextRecord(deprecated)

addTextRecord(text: string): void

向当前剪贴板内容中添加一条纯文本条目,并将MIME_TEXT_PLAIN添加到PasteDataProperty的mimeTypes中。入参均不能为空,否则添加失败。

说明:

从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用addRecord替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
text string 纯文本内容。

示例:

let pasteData: pasteboard.PasteData = pasteboard.createPlainTextData('hello');
pasteData.addTextRecord('good');

addUriRecord(deprecated)

addUriRecord(uri: string): void

向当前剪贴板内容中添加一条URI条目,并将MIMETYPE_TEXT_URI添加到PasteDataProperty的mimeTypes中。入参均不能为空,否则添加失败。

说明:

从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用addRecord替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
uri string URI内容。

示例:

let pasteData: pasteboard.PasteData = pasteboard.createPlainTextData('hello');
pasteData.addUriRecord('dataability:///com.example.myapplication1/user.txt');

getRecordAt(deprecated)

getRecordAt(index: number): PasteDataRecord

获取剪贴板内容中指定下标的条目。 > 说明: > > 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用getRecord替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
index number 指定条目的下标。

返回值:

类型 说明
PasteDataRecord 指定下标的条目。

示例:

let pasteData: pasteboard.PasteData = pasteboard.createPlainTextData('hello');
let record: pasteboard.PasteDataRecord = pasteData.getRecordAt(0);

hasMimeType(deprecated)

hasMimeType(mimeType: string): boolean

检查剪贴板内容中是否有指定的数据类型。 > 说明: > > 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用hasType替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
mimeType string 待查询的数据类型。

返回值:

类型 说明
boolean 有指定的数据类型返回true,否则返回false。

示例:

let pasteData: pasteboard.PasteData = pasteboard.createPlainTextData('hello');
let hasType: boolean = pasteData.hasMimeType(pasteboard.MIMETYPE_TEXT_PLAIN);

removeRecordAt(deprecated)

removeRecordAt(index: number): boolean

移除剪贴板内容中指定下标的条目。 > 说明: > > 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用removeRecord替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
index number 指定的下标。

返回值:

类型 说明
boolean 成功移除返回true,失败返回false。

示例:

let pasteData: pasteboard.PasteData = pasteboard.createPlainTextData('hello');
let isRemove: boolean = pasteData.removeRecordAt(0);

replaceRecordAt(deprecated)

replaceRecordAt(index: number, record: PasteDataRecord): boolean

替换剪贴板内容中指定下标的条目。 > 说明: > > 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用replaceRecord替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
index number 指定的下标。
record PasteDataRecord 替换后的条目。

返回值:

类型 说明
boolean 成功替换返回true,失败返回false。

示例:

let pasteData: pasteboard.PasteData = pasteboard.createPlainTextData('hello');
let record: pasteboard.PasteDataRecord = pasteboard.createUriRecord('dataability:///com.example.myapplication1/user.txt');
let isReplace: boolean = pasteData.replaceRecordAt(0, record);

SystemPasteboard

系统剪贴板对象。

在调用SystemPasteboard的接口前,需要先通过getSystemPasteboard获取系统剪贴板。

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();

on(‘update’)7+

on(type: ‘update’, callback: () =&gt;void ): void

订阅系统剪贴板内容变化事件,当系统剪贴板中内容变化时触发用户程序的回调。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
type string 取值为’update’,表示系统剪贴板内容变化事件。
callback function 剪贴板中内容变化时触发的用户程序的回调。

示例:

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
let listener = () => {
    console.info('The system pasteboard has changed.');
};
systemPasteboard.on('update', listener);

off(‘update’)7+

off(type: ‘update’, callback?: () =&gt;void ): void

取消订阅系统剪贴板内容变化事件。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
type string 取值为’update’,表示系统剪贴板内容变化事件。
callback function 剪贴板中内容变化时触发的用户程序的回调。如果此参数未填,表明清除本应用的所有监听回调,否则表示清除指定监听回调。

示例:

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
let listener = () => {
    console.info('The system pasteboard has changed.');
};
systemPasteboard.off('update', listener);

clearData9+

clearData(callback: AsyncCallback&lt;void&gt;): void

清空系统剪贴板内容,使用callback异步回调。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
callback AsyncCallback&lt;void&gt; 回调函数。当成功清空时,err为undefined;否则为错误对象。

示例:

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.clearData((err, data) => {
    if (err) {
        console.error(`Failed to clear the pasteboard. Cause: ${err.message}`);
        return;
    }
    console.info('Succeeded in clearing the pasteboard.');
});

clearData9+

clearData(): Promise&lt;void&gt;

清空系统剪贴板内容,使用Promise异步回调。

系统能力: SystemCapability.MiscServices.Pasteboard

返回值:

类型 说明
Promise&lt;void&gt; 无返回结果的Promise对象。

示例:

import { BusinessError } from '@ohos.base';

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.clearData().then((data: void) => {
    console.info('Succeeded in clearing the pasteboard.');
}).catch((err: BusinessError) => {
    console.error(`Failed to clear the pasteboard. Cause: ${err.message}`);
});

setData9+

setData(data: PasteData, callback: AsyncCallback&lt;void&gt;): void

将数据写入系统剪贴板,使用callback异步回调。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
data PasteData PasteData对象。
callback AsyncCallback&lt;void> 回调函数。当写入成功,err为undefined,否则为错误对象。

错误码:

以下错误码的详细介绍请参见剪贴板错误码

错误码ID 错误信息
12900003 Another copy or paste is in progress.
12900004 Replication is prohibited.

示例:

let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, 'content');
let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.setData(pasteData, (err, data) => {
    if (err) {
        console.error('Failed to set PasteData. Cause: ' + err.message);
        return;
    }
    console.info('Succeeded in setting PasteData.');
});

setData9+

setData(data: PasteData): Promise&lt;void&gt;

将数据写入系统剪贴板,使用Promise异步回调。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
data PasteData PasteData对象。

返回值:

类型 说明
Promise&lt;void&gt; 无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见剪贴板错误码

错误码ID 错误信息
12900003 Another copy or paste is in progress.
12900004 Replication is prohibited.

示例:

import { BusinessError } from '@ohos.base';

let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, 'content');
let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.setData(pasteData).then((data: void) => {
    console.info('Succeeded in setting PasteData.');
}).catch((err: BusinessError) => {
    console.error('Failed to set PasteData. Cause: ' + err.message);
});

getData9+

getData( callback: AsyncCallback&lt;PasteData&gt;): void

读取系统剪贴板内容,使用callback异步回调。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
callback AsyncCallback&lt;PasteData&gt; 回调函数。当读取成功,err为undefined,data为返回的系统剪贴板数据;否则返回错误对象。

错误码:

以下错误码的详细介绍请参见剪贴板错误码

错误码ID 错误信息
12900003 Another copy or paste is in progress.

示例:

import { BusinessError } from '@ohos.base';

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.getData((err: BusinessError, pasteData: pasteboard.PasteData) => {
    if (err) {
        console.error('Failed to get PasteData. Cause: ' + err.message);
        return;
    }
    let text: string = pasteData.getPrimaryText();
});

getData9+

getData(): Promise&lt;PasteData&gt;

读取系统剪贴板内容,使用Promise异步回调。

系统能力: SystemCapability.MiscServices.Pasteboard

返回值:

类型 说明
Promise&lt;PasteData&gt; Promise对象,返回系统剪贴板数据。

错误码:

以下错误码的详细介绍请参见剪贴板错误码

错误码ID 错误信息
12900003 Another copy or paste is in progress.

示例:

import { BusinessError } from '@ohos.base';

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.getData().then((pasteData: pasteboard.PasteData) => {
    let text: string = pasteData.getPrimaryText();
}).catch((err: BusinessError) => {
    console.error('Failed to get PasteData. Cause: ' + err.message);
});

hasData9+

hasData(callback: AsyncCallback&lt;boolean&gt;): void

判断系统剪贴板中是否有内容,使用callback异步回调。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
callback AsyncCallback&lt;boolean&gt; 返回true表示系统剪贴板中有内容,返回false表示系统剪贴板中没有内容。

示例:

import { BusinessError } from '@ohos.base';

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.hasData((err: BusinessError, data: boolean) => {
    if (err) {
        console.error(`Failed to check the PasteData. Cause: ${err.message}`);
        return;
    }
    console.info(`Succeeded in checking the PasteData. Data: ${data}`);
});

hasData9+

hasData(): Promise&lt;boolean&gt;

判断系统剪贴板中是否有内容,使用Promise异步回调。

系统能力: SystemCapability.MiscServices.Pasteboard

返回值:

类型 说明
Promise&lt;boolean&gt; 返回true表示系统剪贴板中有内容,返回false表示系统剪贴板中没有内容。

示例:

import { BusinessError } from '@ohos.base';

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.hasData().then((data: boolean) => {
    console.info(`Succeeded in checking the PasteData. Data: ${data}`);
}).catch((err: BusinessError) => {
    console.error(`Failed to check the PasteData. Cause: ${err.message}`);
});

clear(deprecated)

clear(callback: AsyncCallback&lt;void&gt;): void

清空系统剪贴板内容,使用callback异步回调。 > 说明: > > 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用pasteboard.clearData替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
callback AsyncCallback&lt;void&gt; 回调函数。当成功清空时,err为undefined;否则为错误对象。

示例:

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.clear((err, data) => {
    if (err) {
        console.error(`Failed to clear the PasteData. Cause: ${err.message}`);
        return;
    }
    console.info('Succeeded in clearing the PasteData.');
});

clear(deprecated)

clear(): Promise&lt;void&gt;

清空系统剪贴板内容,使用Promise异步回调。 > 说明: > > 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用pasteboard.clearData替代。

系统能力: SystemCapability.MiscServices.Pasteboard

返回值:

类型 说明
Promise&lt;void&gt; 无返回结果的Promise对象。

示例:

import { BusinessError } from '@ohos.base';

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.clear().then((data) => {
    console.info('Succeeded in clearing the PasteData.');
}).catch((err: BusinessError) => {
    console.error(`Failed to clear the PasteData. Cause: ${err.message}`);
});

getPasteData(deprecated)

getPasteData( callback: AsyncCallback&lt;PasteData&gt;): void

读取系统剪贴板内容,使用callback异步回调。 > 说明: > > 从 API Version 6 开始支持,从 API Version 9 开始废弃,建议使用getData替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
callback AsyncCallback&lt;PasteData&gt; 回调函数。当读取成功,err为undefined,data为返回的系统剪贴板数据;否则返回错误对象。

示例:

import { BusinessError } from '@ohos.base';

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.getPasteData((err: BusinessError, pasteData: pasteboard.PasteData) => {
    if (err) {
        console.error('Failed to get PasteData. Cause: ' + err.message);
        return;
    }
    let text: string = pasteData.getPrimaryText();
});

getPasteData(deprecated)

getPasteData(): Promise&lt;PasteData&gt;

读取系统剪贴板内容,使用Promise异步回调。 > 说明: > > 从 API Version 6 开始支持,从 API Version 9 开始废弃,建议使用getData替代。

系统能力: SystemCapability.MiscServices.Pasteboard

返回值:

类型 说明
Promise&lt;PasteData&gt; Promise对象,返回系统剪贴板数据。

示例:

import { BusinessError } from '@ohos.base';

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.getPasteData().then((pasteData: pasteboard.PasteData) => {
    let text: string = pasteData.getPrimaryText();
}).catch((err: BusinessError) => {
    console.error('Failed to get PasteData. Cause: ' + err.message);
});

hasPasteData(deprecated)

hasPasteData(callback: AsyncCallback&lt;boolean&gt;): void

判断系统剪贴板中是否有内容,使用callback异步回调。 > 说明: > > 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用hasData替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
callback AsyncCallback&lt;boolean&gt; 返回true表示系统剪贴板中有内容,返回false表示系统剪贴板中没有内容。

示例:

import { BusinessError } from '@ohos.base';

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.hasPasteData((err: BusinessError, data: boolean) => {
    if (err) {
        console.error(`Failed to check the PasteData. Cause: ${err.message}`);
        return;
    }
    console.info(`Succeeded in checking the PasteData. Data: ${data}`);
});

hasPasteData(deprecated)

hasPasteData(): Promise&lt;boolean&gt;

判断系统剪贴板中是否有内容,使用Promise异步回调。 > 说明: > > 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用hasData替代。

系统能力: SystemCapability.MiscServices.Pasteboard

返回值:

类型 说明
Promise&lt;boolean&gt; 返回true表示系统剪贴板中有内容,返回false表示系统剪贴板中没有内容。

示例:

import { BusinessError } from '@ohos.base';

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.hasPasteData().then((data: boolean) => {
    console.info(`Succeeded in checking the PasteData. Data: ${data}`);
}).catch((err: BusinessError) => {
    console.error(`Failed to check the PasteData. Cause: ${err.message}`);
});

setPasteData(deprecated)

setPasteData(data: PasteData, callback: AsyncCallback&lt;void&gt;): void

将数据写入系统剪贴板,使用callback异步回调。 > 说明: > > 从 API Version 6 开始支持,从 API Version 9 开始废弃,建议使用setData替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
data PasteData PasteData对象。
callback AsyncCallback&lt;void> 回调函数。当写入成功,err为undefined,否则为错误对象。

示例:

let pasteData: pasteboard.PasteData = pasteboard.createPlainTextData('content');
let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.setPasteData(pasteData, (err, data) => {
    if (err) {
        console.error('Failed to set PasteData. Cause: ' + err.message);
        return;
    }
    console.info('Succeeded in setting PasteData.');
});

setPasteData(deprecated)

setPasteData(data: PasteData): Promise&lt;void&gt;

将数据写入系统剪贴板,使用Promise异步回调。 > 说明: > > 从 API Version 6 开始支持,从 API Version 9 开始废弃,建议使用setData替代。

系统能力: SystemCapability.MiscServices.Pasteboard

参数:

参数名 类型 必填 说明
data PasteData PasteData对象。

返回值:

类型 说明
Promise&lt;void&gt; 无返回结果的Promise对象。

示例:

import { BusinessError } from '@ohos.base';

let pasteData: pasteboard.PasteData = pasteboard.createPlainTextData('content');
let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.setPasteData(pasteData).then((data: void) => {
    console.info('Succeeded in setting PasteData.');
}).catch((err: BusinessError) => {
    console.error('Failed to set PasteData. Cause: ' + err.message);
});

isRemoteData11+

isRemoteData(): boolean

判断剪贴板中的数据是否来自其他设备。

系统能力: SystemCapability.MiscServices

返回值:

类型 说明
boolean 是来自其他设备返回true,否则返回false。

示例:

import { BusinessError } from '@ohos.base';

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
try {
    let result: boolean = systemPasteboard.isRemoteData();
    console.info(`Succeeded in checking the RemoteData. Result: ${result}`);
} catch (err: BusinessError) {
    console.error('Failed to check the RemoteData. Cause:' + err.message);
};

getDataSource11+

getDataSource(): string

获取数据来源。

系统能力: SystemCapability.MiscServices

返回值:

类型 说明
string 数据来源。

示例:

import { BusinessError } from '@ohos.base';

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
try {
    let result: string = systemPasteboard.getDataSource();
    console.info(`Succeeded in getting DataSource. Result: ${result}`);
} catch (err: BusinessError) { 
    console.error('Failed to get DataSource. Cause:' + err.message);
};

hasDataType11+

hasDataType(mimeType: string): boolean

检查剪贴板内容中是否有指定类型的数据。

系统能力: SystemCapability.MiscServices

参数:

参数名 类型 必填 说明
mimeType string 数据类型。

返回值:

类型 说明
boolean 有指定类型的数据返回true,否则返回false。

示例:

import { BusinessError } from '@ohos.base';

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
try {
    let result: boolean = systemPasteboard.hasDataType(pasteboard.MIMETYPE_TEXT_PLAIN);
    console.info(`Succeeded in checking the DataType. Result: ${result}`);
} catch (err: BusinessError) {
    console.error('Failed to check the DataType. Cause:' + err.message);
};

clearDataSync11+

clearDataSync(): void

清空系统剪贴板内容, 此接口为同步接口。

系统能力: SystemCapability.MiscServices

示例:

import { BusinessError } from '@ohos.base';

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
try {
    systemPasteboard.clearDataSync();
    console.info('Succeeded in clearing the pasteboard.');
} catch (err: BusinessError) {
    console.error('Failed to clear the pasteboard. Cause:' + err.message);
};

getDataSync11+

getDataSync(): PasteData

读取系统剪贴板内容, 此接口为同步接口。

系统能力: SystemCapability.MiscServices

返回值:

类型 说明
PasteData 返回系统剪贴板数据。

示例:

import { BusinessError } from '@ohos.base';

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
try {
    let result: PasteData = systemPasteboard.getDataSync();
    console.info('Succeeded in getting PasteData.');
} catch (err: BusinessError) {
    console.error('Failed to get PasteData. Cause:' + err.message);
};   

setDataSync11+

setDataSync(data: PasteData): void

将数据写入系统剪贴板, 此接口为同步接口。

系统能力: SystemCapability.MiscServices

参数:

参数名 类型 必填 说明
data PasteData 需要写入剪贴板中的数据。

示例:

import { BusinessError } from '@ohos.base';

let pasteData: pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, 'hello');
let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
try {
    systemPasteboard.setDataSync(pasteData);
    console.info('Succeeded in setting PasteData.');
} catch (err: BusinessError) {
    console.error('Failed to set PasteData. Cause:' + err.message);
};  

hasDataSync11+

hasDataSync(): boolean

判断系统剪贴板中是否有内容, 此接口为同步接口。

系统能力: SystemCapability.MiscServices

返回值:

类型 说明
boolean 返回true表示系统剪贴板中有内容,返回false表示系统剪贴板中没有内容。

示例:

import { BusinessError } from '@ohos.base';

let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
try {
    let result: boolean = systemPasteboard.HasDataSync();
    console.info(`Succeeded in checking the PasteData. Result: ${result}`);
} catch (err: BusinessError) {
    console.error('Failed to check the PasteData. Cause:' + err.message);
};    

你可能感兴趣的鸿蒙文章

harmony 鸿蒙接口

harmony 鸿蒙系统公共事件定义(待停用)

harmony 鸿蒙系统公共事件定义

harmony 鸿蒙开发说明

harmony 鸿蒙企业设备管理概述(仅对系统应用开放)

harmony 鸿蒙BundleStatusCallback

harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager模块)

harmony 鸿蒙@ohos.distributedBundle (分布式包管理)

harmony 鸿蒙@ohos.bundle (Bundle模块)

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (企业设备管理扩展能力)

0  赞