js-apis-pasteboard.md 32.6 KB
Newer Older
Z
zengyawen 已提交
1 2
# 剪贴板

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

5 6
> **说明:**
> 
Z
zengyawen 已提交
7 8 9 10
> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

## 导入模块

11
```js
Z
zengyawen 已提交
12 13 14 15 16
import pasteboard from '@ohos.pasteboard';
```

## 属性

17
**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
18 19 20

| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
21 22 23 24 25 26
| MAX_RECORD_NUM<sup>7+</sup> | number | 是 | 否 | 单个PasteData中所能包含的最大条目数。 |
| MIMETYPE_TEXT_HTML<sup>7+</sup> | string | 是 | 否 | HTML内容的MIME类型定义。 |
| MIMETYPE_TEXT_WANT<sup>7+</sup> | string | 是 | 否 | Want内容的MIME类型定义。 |
| MIMETYPE_TEXT_PLAIN<sup>7+</sup> | string | 是 | 否 | 纯文本内容的MIME类型定义。 |
| MIMETYPE_TEXT_URI<sup>7+</sup> | string | 是 | 否 | URI内容的MIME类型定义。 |
| MIMETYPE_PIXELMAP<sup>9+</sup> | string | 是 | 否 | PixelMap内容的MIME类型定义。 |
Z
zengyawen 已提交
27 28 29 30 31 32 33 34


## pasteboard.createPlainTextData

createPlainTextData(text:string): PasteData

构建一个纯文本剪贴板内容对象。

35 36 37
**系统能力:** SystemCapability.MiscServices.Pasteboard

**参数:**
Z
zengyawen 已提交
38

Z
zengyawen 已提交
39 40
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
41 42 43
| text | string | 是 | 纯文本内容。 |

**返回值:**
Z
zengyawen 已提交
44

Z
zengyawen 已提交
45 46
| 类型 | 说明 |
| -------- | -------- |
47
| [PasteData](#pastedata) | 剪贴板内容对象。 |
Z
zengyawen 已提交
48

49
**示例:**
Z
zengyawen 已提交
50

51 52 53
```js
var pasteData = pasteboard.createPlainTextData("content");
```
Z
zengyawen 已提交
54 55 56 57 58 59


## pasteboard.createHtmlData<sup>7+</sup>

createHtmlData(htmlText:string): PasteData

60
构建一个HTML剪贴板内容对象。
Z
zengyawen 已提交
61

62 63 64
**系统能力:** SystemCapability.MiscServices.Pasteboard

**参数:**
Z
zengyawen 已提交
65

Z
zengyawen 已提交
66 67
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
68 69 70
| htmlText | string | 是 | HTML内容。 |

**返回值:**
Z
zengyawen 已提交
71

Z
zengyawen 已提交
72 73
| 类型 | 说明 |
| -------- | -------- |
74
| [PasteData](#pastedata) | 剪贴板内容对象。 |
Z
zengyawen 已提交
75

76
**示例:**
Z
zengyawen 已提交
77

78 79 80 81
```js
var 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>";
var pasteData = pasteboard.createHtmlData(html);
```
Z
zengyawen 已提交
82 83 84 85 86 87


## pasteboard.createWantData<sup>7+</sup>

createWantData(want:Want): PasteData

88 89 90
构建一个Want剪贴板内容对象。

**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
91

92
**参数:**
Z
zengyawen 已提交
93

Z
zengyawen 已提交
94 95
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
96 97 98
| want | [Want](js-apis-application-Want.md) | 是 | Want内容。 |

**返回值:**
Z
zengyawen 已提交
99

Z
zengyawen 已提交
100 101
| 类型 | 说明 |
| -------- | -------- |
102
| [PasteData](#pastedata) | 剪贴板内容对象。 |
Z
zengyawen 已提交
103

104
**示例:**
Z
zengyawen 已提交
105

106 107 108 109 110 111 112
```js
var object = {
    bundleName: "com.example.aafwk.test",
    abilityName: "com.example.aafwk.test.TwoAbility"
};
var pasteData = pasteboard.createWantData(object);
```
Z
zengyawen 已提交
113 114 115 116 117 118 119 120


## pasteboard.createUriData<sup>7+</sup>

createUriData(uri:string): PasteData

构建一个URI剪贴板内容对象。

121 122 123
**系统能力:** SystemCapability.MiscServices.Pasteboard

**参数:**
Z
zengyawen 已提交
124

Z
zengyawen 已提交
125 126
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
127 128 129
| uri | string | 是 | URI内容。 |

**返回值:**
Z
zengyawen 已提交
130

Z
zengyawen 已提交
131 132
| 类型 | 说明 |
| -------- | -------- |
133
| [PasteData](#pastedata) | 剪贴板内容对象。 |
Z
zengyawen 已提交
134

135
**示例:**
Z
zengyawen 已提交
136

137 138 139
```js
var pasteData = pasteboard.createUriData("dataability:///com.example.myapplication1/user.txt");
```
Z
zengyawen 已提交
140 141


142 143 144 145 146 147
## pasteboard.createPixelMapData<sup>9+</sup>

createPixelMapData((pixelMap: image.PixelMap): PasteData

构建一个PixelMap剪贴板内容对象。

148 149 150
**系统能力:** SystemCapability.MiscServices.Pasteboard

**参数:**
151 152 153

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
154 155 156
| pixelMap | [image.PixelMap](js-apis-image.md#pixelmap7) | 是 | PixelMap内容。 |

**返回值:**
157 158 159

| 类型 | 说明 |
| -------- | -------- |
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
| [PasteData](#pastedata) | 剪贴板内容对象。 |

**示例:**

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

var buffer = new ArrayBuffer(128)
var opt = {
  size: { height: 3, width: 5 },
  pixelFormat: 3,
  editable: true,
  alphaType: 1,
  scaleMode: 1
}
image.createPixelMap(buffer, opt).then((pixelMap) => {
  var pasteData = pasteboard.createPixelMapData(pixelMap); 
})
```
179 180


Z
zengyawen 已提交
181 182 183 184
## pasteboard.createPlainTextRecord<sup>7+</sup>

createPlainTextRecord(text:string): PasteDataRecord

185 186 187
创建一条纯文本内容条目。

**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
188

189
**参数:**
Z
zengyawen 已提交
190

Z
zengyawen 已提交
191 192 193
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| text | string | 是 | 纯文本内容。 |
Z
zengyawen 已提交
194

195 196
**返回值:**

Z
zengyawen 已提交
197 198 199
| 类型 | 说明 |
| -------- | -------- |
| [PasteDataRecord](#pastedatarecord7) | 一条新建的纯文本内容条目。 |
Z
zengyawen 已提交
200

201
**示例:**
Z
zengyawen 已提交
202

203 204 205
```js
var record = pasteboard.createPlainTextRecord("hello");
```
Z
zengyawen 已提交
206 207 208 209 210 211 212 213


## pasteboard.createHtmlTextRecord<sup>7+</sup>

createHtmlTextRecord(htmlText:string): PasteDataRecord

创建一条HTML内容的条目。

214 215 216
**系统能力:** SystemCapability.MiscServices.Pasteboard

**参数:**
Z
zengyawen 已提交
217

Z
zengyawen 已提交
218 219
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
220
| htmlText | string | 是 | HTML内容。 |
Z
zengyawen 已提交
221

222 223
**返回值:**

Z
zengyawen 已提交
224 225 226
| 类型 | 说明 |
| -------- | -------- |
| [PasteDataRecord](#pastedatarecord7) | 一条新建的HTML内容条目。 |
Z
zengyawen 已提交
227

228
**示例:**
Z
zengyawen 已提交
229

230 231 232 233
```js
var 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>";
var record = pasteboard.createHtmlTextRecord(html);
```
Z
zengyawen 已提交
234 235 236 237 238 239 240 241


## pasteboard.createWantRecord<sup>7+</sup>

createWantRecord(want:Want): PasteDataRecord

创建一条Want内容条目。

242 243 244
**系统能力:** SystemCapability.MiscServices.Pasteboard

**参数:**
Z
zengyawen 已提交
245

Z
zengyawen 已提交
246 247
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
248 249 250
| want | [Want](js-apis-application-Want.md) | 是 | Want内容。 |

**返回值:**
Z
zengyawen 已提交
251

Z
zengyawen 已提交
252 253
| 类型 | 说明 |
| -------- | -------- |
254
| [PasteDataRecord](#pastedatarecord7) | 一条新建的Want内容条目。 |
Z
zengyawen 已提交
255

256
**示例:**
Z
zengyawen 已提交
257

258 259 260 261 262 263 264
```js
var object = {
    bundleName: "com.example.aafwk.test",
    abilityName: "com.example.aafwk.test.TwoAbility"
};
var record = pasteboard.createWantRecord(object);
```
Z
zengyawen 已提交
265 266 267 268 269 270 271 272


## pasteboard.createUriRecord<sup>7+</sup>

createUriRecord(uri:string): PasteDataRecord

创建一条URI内容的条目。

273 274 275
**系统能力:** SystemCapability.MiscServices.Pasteboard

**参数:**
Z
zengyawen 已提交
276

Z
zengyawen 已提交
277 278 279
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| uri | string | 是 | URI内容。 |
Z
zengyawen 已提交
280

281 282
**返回值:**

Z
zengyawen 已提交
283 284 285
| 类型 | 说明 |
| -------- | -------- |
| [PasteDataRecord](#pastedatarecord7) | 一条新建的URI内容条目。 |
Z
zengyawen 已提交
286

287
**示例:**
Z
zengyawen 已提交
288

289 290 291
```js
var record = pasteboard.createUriRecord("dataability:///com.example.myapplication1/user.txt");
```
Z
zengyawen 已提交
292

293

294 295 296 297
## pasteboard.createPixelMapRecord<sup>9+</sup>

createPixelMapRecord(pixelMap:image.PixelMap): PasteDataRecord

298 299 300
创建一条PixelMap内容的条目。

**系统能力:** SystemCapability.MiscServices.Pasteboard
301

302
**参数:**
303 304 305

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
306 307 308
| pixelMap | [image.PixelMap](js-apis-image.md#pixelmap7) | 是 | PixelMap内容。 |

**返回值:**
309 310 311

| 类型 | 说明 |
| -------- | -------- |
312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330
| [PasteDataRecord](#pastedatarecord7) | 一条新建的PixelMap内容条目。 |

**示例:**

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

var buffer = new ArrayBuffer(128)
var opt = {
  size: { height: 3, width: 5 },
  pixelFormat: 3,
  editable: true,
  alphaType: 1,
  scaleMode: 1
}
image.createPixelMap(buffer, opt).then((pixelMap) => {
  var record = pasteboard.createPixelMapRecord(pixelMap); 
})
```
331

332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350
## pasteboard.getSystemPasteboard

getSystemPasteboard(): SystemPasteboard

获取系统剪贴板对象。

**系统能力:** SystemCapability.MiscServices.Pasteboard

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| [SystemPasteboard](#systempasteboard) | 系统剪贴板对象。 |

**示例:**

```js
var systemPasteboard = pasteboard.getSystemPasteboard();
```
Z
zengyawen 已提交
351

352
## ShareOption<sup>9+</sup>
353 354 355

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

356
**系统能力:** SystemCapability.MiscServices.Pasteboard
357 358 359

| 名称  | 说明                    |
| -----  | ----------------------- |
360 361
| InApp  |InApp表示仅允许同应用内粘贴。  |
| LocalDevice  |LocalDevice表示仅允许在此设备中粘贴。  |
362 363


364
## PasteDataProperty<sup>7+</sup>
Z
zengyawen 已提交
365

366
定义了剪贴板中所有内容条目的属性,包含时间戳、数据类型、粘贴范围以及一些附加数据等。
Z
zengyawen 已提交
367

368
**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
369

Z
zengyawen 已提交
370
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
Z
zengyawen 已提交
371
| -------- | -------- | -------- | -------- | -------- |
372 373
| additions<sup>7+</sup> | {[key:string]:object} | 是 | 是 | 设置的其他附加属性数据。 |
| mimeTypes<sup>7+</sup> | Array&lt;string&gt; | 是 | 否 | 剪贴板内容条目的数据类型,非重复的类型列表。 |
374
| tag<sup>7+</sup> | string | 是 | 是 | 用户自定义标签。 |
375 376
| timestamp<sup>7+</sup> | number | 是 | 否 | 剪贴板数据的写入时间戳(单位:ms)。 |
| localOnly<sup>7+</sup> | boolean | 是 | 是 | 配置剪贴板内容是否为“仅在本地”。默认值为true。<br/>- 配置为true时,表示内容仅在本地,不会在设备之间传递。<br/>- 配置为false时,表示内容将在设备间传递。 |
377
| shareOption<sup>9+</sup> | [ShareOption](#shareoption9) | 是 | 是 | 指示剪贴板数据可以粘贴到的范围。 |
Z
zengyawen 已提交
378 379 380 381 382 383 384 385 386


## PasteDataRecord<sup>7+</sup>

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


### 属性

387
**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
388 389 390

| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
391 392
| htmlText<sup>7+</sup> | string | 是 | 否 | HTML内容。 |
| want<sup>7+</sup> | [Want](js-apis-application-Want.md) | 是 | 否 | Want内容。 |
Z
zengyawen 已提交
393
| mimeType<sup>7+</sup> | string | 是 | 否 | 数据类型。 |
394
| plainText<sup>7+</sup> | string | 是 | 否 | 纯文本内容。 |
Z
zengyawen 已提交
395
| uri<sup>7+</sup> | string | 是 | 否 | URI内容。 |
396
| pixelMap<sup>9+</sup> | [image.PixelMap](js-apis-image.md#pixelmap7) | 是 | 否 | PixelMap内容。 |
Z
zengyawen 已提交
397 398 399 400 401 402


### convertToText<sup>7+</sup>

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

403 404 405
将一个PasteData中的内容强制转换为文本内容,使用Promise异步回调。

**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
406

407
**返回值:**
Z
zengyawen 已提交
408

Z
zengyawen 已提交
409 410
| 类型 | 说明 |
| -------- | -------- |
411
| Promise&lt;string&gt; | Promise对象,返回强制转换的文本内容。 |
Z
zengyawen 已提交
412

413
**示例:**
Z
zengyawen 已提交
414

415 416 417 418 419 420 421 422
```js
var record = pasteboard.createUriRecord("dataability:///com.example.myapplication1/user.txt");
record.convertToText().then((data) => {
    console.info('Succeeded in converting to text. Data: ' + JSON.stringify(data));
}).catch((err) => {
    console.error('Failed to convert to text. Cause: ' + JSON.stringify(err));
});
```
Z
zengyawen 已提交
423 424 425 426 427 428


### convertToText<sup>7+</sup>

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

429
将一个PasteData中的内容强制转换为文本内容,使用callback异步回调。
Z
zengyawen 已提交
430

431 432 433
**系统能力:** SystemCapability.MiscServices.Pasteboard

**参数:**
Z
zengyawen 已提交
434

Z
zengyawen 已提交
435 436
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
437
| callback | AsyncCallback&lt;string&gt; | 是 | 回调函数,当转换成功,err为undefined,data为强制转换的文本内容;否则返回错误信息。 |
Z
zengyawen 已提交
438

439
**示例:**
Z
zengyawen 已提交
440

441 442 443 444 445 446 447 448 449 450
```js
var record = pasteboard.createUriRecord("dataability:///com.example.myapplication1/user.txt");
record.convertToText((err, data) => {    
    if (err) {        
        console.error('Failed to convert to text. Cause: ' + JSON.stringify(err));        
        return;   
      }
    console.info('Succeeded in converting to text. Data: ' + JSON.stringify(data));
});
```
Z
zengyawen 已提交
451 452 453 454


## PasteData

455 456
剪贴板内容对象。

Z
zengyawen 已提交
457 458
在调用PasteData的接口前,需要先获取一个PasteData对象。

459
**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
460 461 462 463 464 465 466 467 468 469


### getPrimaryText


getPrimaryText(): string


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

470
**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
471 472


473 474
**返回值:**

Z
zengyawen 已提交
475 476 477
| 类型 | 说明 |
| -------- | -------- |
| string | 纯文本内容。 |
Z
zengyawen 已提交
478

479
**示例:**
Z
zengyawen 已提交
480

481 482 483 484
```js
var pasteData = pasteboard.createPlainTextData("hello");
var plainText = pasteData.getPrimaryText();
```
Z
zengyawen 已提交
485 486 487 488 489 490


### getPrimaryHtml<sup>7+</sup>

getPrimaryHtml(): string

491
获取首个条目的HTML内容。
Z
zengyawen 已提交
492

493 494 495
**系统能力:** SystemCapability.MiscServices.Pasteboard

**返回值:**
Z
zengyawen 已提交
496

Z
zengyawen 已提交
497 498
| 类型 | 说明 |
| -------- | -------- |
499
| string | HTML内容。 |
Z
zengyawen 已提交
500

501
**示例:**
Z
zengyawen 已提交
502

503 504 505 506 507
```js
var 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>";
var pasteData = pasteboard.createHtmlData(html);
var htmlText = pasteData.getPrimaryHtml();
```
Z
zengyawen 已提交
508 509 510 511 512 513 514 515


### getPrimaryWant<sup>7+</sup>

getPrimaryWant(): Want

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

516 517 518
**系统能力:** SystemCapability.MiscServices.Pasteboard

**返回值:**
Z
zengyawen 已提交
519

Z
zengyawen 已提交
520 521
| 类型 | 说明 |
| -------- | -------- |
ahjxliubao2's avatar
ahjxliubao2 已提交
522
| [Want](js-apis-application-Want.md) | Want对象内容。 |
Z
zengyawen 已提交
523

524
**示例:**
Z
zengyawen 已提交
525

526 527 528 529 530 531 532 533
```js
var object = { 
    bundleName: "com.example.aafwk.test",    
    abilityName: "com.example.aafwk.test.TwoAbility"
};
var pasteData = pasteboard.createWantData(object);
var want = pasteData.getPrimaryWant();
```
Z
zengyawen 已提交
534 535 536 537 538 539


### getPrimaryUri<sup>7+</sup>

getPrimaryUri(): string

540 541 542
获取首个条目的URI内容。

**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
543

544
**返回值:**
Z
zengyawen 已提交
545

Z
zengyawen 已提交
546 547
| 类型 | 说明 |
| -------- | -------- |
548
| string | URI内容。 |
Z
zengyawen 已提交
549

550
**示例:**
Z
zengyawen 已提交
551

552 553 554 555
```js
var pasteData = pasteboard.createUriData("dataability:///com.example.myapplication1/user.txt");
var uri = pasteData.getPrimaryUri();
```
Z
zengyawen 已提交
556 557


558 559 560 561
### getPrimaryPixelMap<sup>9+</sup>

getPrimaryPixelMap(): image.PixelMap

562 563 564
获取首个条目的PixelMap内容。

**系统能力:** SystemCapability.MiscServices.Pasteboard
565

566
**返回值:**
567 568 569

| 类型 | 说明 |
| -------- | -------- |
570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589
| [image.PixelMap](js-apis-image.md#pixelmap7) | PixelMap内容。 |

**示例:**

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

var buffer = new ArrayBuffer(128)
var opt = {
  size: { height: 3, width: 5 },
  pixelFormat: 3,
  editable: true,
  alphaType: 1,
  scaleMode: 1
}
image.createPixelMap(buffer, opt).then((pixelMap) => {
    var pasteData = pasteboard.createPixelMapData(pixelMap);
    var pixelMap = pasteData.getPrimaryPixelMap();
})
```
590 591


Z
zengyawen 已提交
592 593 594 595 596 597 598 599
### addTextRecord<sup>7+</sup>

addTextRecord(text: string): void

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

剪贴板内容中添加的条目达到数量上限128后,后续的添加操作无效。

600 601 602
**系统能力:** SystemCapability.MiscServices.Pasteboard

**参数:**
Z
zengyawen 已提交
603

Z
zengyawen 已提交
604 605 606
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| text | string | 是 | 纯文本内容。 |
Z
zengyawen 已提交
607

608
**示例:**
Z
zengyawen 已提交
609

610 611 612 613
```js
var pasteData = pasteboard.createPlainTextData("hello");
pasteData.addTextRecord("good");
```
Z
zengyawen 已提交
614 615 616 617 618 619


### addHtmlRecord<sup>7+</sup>

addHtmlRecord(htmlText: string): void

620
向当前剪贴板内容中添加一条HTML内容条目,并将MIMETYPE_TEXT_HTML添加到[PasteDataProperty](#pastedataproperty7)的mimeTypes中。入参均不能为空,否则添加失败。
Z
zengyawen 已提交
621 622 623

剪贴板内容中添加的条目达到数量上限128后,后续的添加操作无效。

624 625 626
**系统能力:** SystemCapability.MiscServices.Pasteboard

**参数:**
Z
zengyawen 已提交
627

Z
zengyawen 已提交
628 629
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
630
| htmlText | string | 是 | HTML内容。 |
Z
zengyawen 已提交
631

632
**示例:**
Z
zengyawen 已提交
633

634 635 636 637 638
```js
var pasteData = pasteboard.createPlainTextData("hello");
var 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>";
pasteData.addHtmlRecord(html);
```
Z
zengyawen 已提交
639 640 641 642


### addWantRecord<sup>7+</sup>

Z
zengyawen 已提交
643
addWantRecord(want: Want): void
Z
zengyawen 已提交
644

645
向当前剪贴板内容中添加一条Want条目,并将MIMETYPE_TEXT_WANT添加到[PasteDataProperty](#pastedataproperty7)的mimeTypes中。入参均不能为空,否则添加失败。
Z
zengyawen 已提交
646 647 648

剪贴板内容中添加的条目达到数量上限128后,后续的添加操作无效。

649 650 651
**系统能力:** SystemCapability.MiscServices.Pasteboard

**参数:**
Z
zengyawen 已提交
652

Z
zengyawen 已提交
653 654
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
ahjxliubao2's avatar
ahjxliubao2 已提交
655
| want | [Want](js-apis-application-Want.md) | 是 | Want对象内容。 |
Z
zengyawen 已提交
656

657
**示例:**
Z
zengyawen 已提交
658

659 660 661 662 663 664 665 666
```js
var pasteData = pasteboard.createPlainTextData("hello");
var object = { 
    bundleName: "com.example.aafwk.test",    
    abilityName: "com.example.aafwk.test.TwoAbility"
};
pasteData.addWantRecord(object);
```
Z
zengyawen 已提交
667 668 669 670 671 672 673 674 675 676


### addUriRecord<sup>7+</sup>

addUriRecord(uri: string): void

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

剪贴板内容中添加的条目达到数量上限128后,后续的添加操作无效。

677 678 679
**系统能力:** SystemCapability.MiscServices.Pasteboard

**参数:**
Z
zengyawen 已提交
680

Z
zengyawen 已提交
681 682
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
683
| uri | string | 是 | URI内容。 |
Z
zengyawen 已提交
684

685
**示例:**
Z
zengyawen 已提交
686

687 688 689 690
```js
var pasteData = pasteboard.createPlainTextData("hello");
pasteData.addUriRecord("dataability:///com.example.myapplication1/user.txt");
```
Z
zengyawen 已提交
691

692 693 694 695 696 697
### addPixelMapRecord<sup>9+</sup>

addPixelMapRecord(pixelMap: image.PixelMap): void

向当前剪贴板内容中添加一条pixelMap条目,并将MIMETYPE_PIXELMAP添加到[PasteDataProperty](#pastedataproperty7)的mimeTypes中。入参均不能为空,否则添加失败。

698
剪贴板内容中添加的条目达到数量上限512后,后续的添加操作无效。
699

700 701 702
**系统能力:** SystemCapability.MiscServices.Pasteboard

**参数:**
703 704 705

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724
| pixelMap | [image.PixelMap](js-apis-image.md#pixelmap7) | 是 | PixelMap内容。 |

**示例:**

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

var buffer = new ArrayBuffer(128)
var opt = {
  size: { height: 3, width: 5 },
  pixelFormat: 3,
  editable: true,
  alphaType: 1,
  scaleMode: 1
}
image.createPixelMap(buffer, opt).then((pixelMap) => {
  var record = pasteboard.createPlainTextData("hello").addPixelMapRecord(pixelMap); 
})
```
725

Z
zengyawen 已提交
726 727 728 729 730 731 732 733 734

### addRecord<sup>7+</sup>

addRecord(record: PasteDataRecord): void

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

剪贴板内容中添加的条目达到数量上限128后,后续的添加操作无效。

735 736 737
**系统能力:** SystemCapability.MiscServices.Pasteboard

**参数:**
Z
zengyawen 已提交
738

Z
zengyawen 已提交
739 740 741
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| record | [PasteDataRecord](#pastedatarecord7) | 是 | 待添加的条目。 |
Z
zengyawen 已提交
742

743
**示例:**
Z
zengyawen 已提交
744

745 746 747 748 749 750 751 752
```js
var pasteData = pasteboard.createUriData("dataability:///com.example.myapplication1/user.txt");
var textRecord = pasteboard.createPlainTextRecord("hello");
var 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>";
var htmlRecord = pasteboard.createHtmlTextRecord(html);
pasteData.addRecord(textRecord);
pasteData.addRecord(htmlRecord);
```
Z
zengyawen 已提交
753 754 755 756 757 758 759 760


### getMimeTypes<sup>7+</sup>

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

获取剪贴板中[PasteDataProperty](#pastedataproperty7)的mimeTypes列表,当剪贴板内容为空时,返回列表为空。

761 762 763
**系统能力:** SystemCapability.MiscServices.Pasteboard

**返回值:**
Z
zengyawen 已提交
764

Z
zengyawen 已提交
765 766
| 类型 | 说明 |
| -------- | -------- |
767
| Array&lt;string&gt; | 剪贴板内容条目的数据类型,非重复的类型列表。 |
Z
zengyawen 已提交
768

769
**示例:**
Z
zengyawen 已提交
770

771 772 773 774
```js
var pasteData = pasteboard.createPlainTextData("hello");
var types = pasteData.getMimeTypes();
```
Z
zengyawen 已提交
775 776 777 778 779 780


### getPrimaryMimeType<sup>7+</sup>

getPrimaryMimeType(): string

781
获取剪贴板内容中首个条目的数据类型。
Z
zengyawen 已提交
782

783 784 785
**系统能力:** SystemCapability.MiscServices.Pasteboard

**返回值:**
Z
zengyawen 已提交
786

Z
zengyawen 已提交
787 788 789
| 类型 | 说明 |
| -------- | -------- |
| string | 首个条目的数据类型。 |
Z
zengyawen 已提交
790

791
**示例:**
Z
zengyawen 已提交
792

793 794 795 796
```js
var pasteData = pasteboard.createPlainTextData("hello");
var type = pasteData.getPrimaryMimeType();
```
Z
zengyawen 已提交
797 798 799 800 801 802


### getProperty<sup>7+</sup>

getProperty(): PasteDataProperty

803
获取剪贴板内容的属性描述对象。
Z
zengyawen 已提交
804

805 806 807
**系统能力:** SystemCapability.MiscServices.Pasteboard

**返回值:**
Z
zengyawen 已提交
808

Z
zengyawen 已提交
809 810 811
| 类型 | 说明 |
| -------- | -------- |
| [PasteDataProperty](#pastedataproperty7) | 属性描述对象。 |
Z
zengyawen 已提交
812

813
**示例:**
Z
zengyawen 已提交
814

815 816 817 818
```js
var pasteData = pasteboard.createPlainTextData("hello");
var property = pasteData.getProperty();
```
Z
zengyawen 已提交
819 820


821
### setProperty<sup>9+</sup>
822

823
setProperty(property: PasteDataProperty): void
824

825 826 827
设置剪贴板内容的属性描述对象,当前仅支持设置shareOption属性。

**系统能力:** SystemCapability.MiscServices.Pasteboard
828

829
**参数:**
830 831 832

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
833
| property | [PasteDataProperty](#pastedataproperty7) | 是 | 属性描述对象。 |
834

835
**示例:**
836

837 838 839 840 841 842
```js
var pasteData = pasteboard.createHtmlData('application/xml');
let prop = pasteData.getProperty();
prop.shareOption = pasteboard.ShareOption.InApp;
pasteData.setProperty(prop);
```
843 844


Z
zengyawen 已提交
845 846 847 848
### getRecordAt<sup>7+</sup>

getRecordAt(index: number): PasteDataRecord

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

**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
852

853
**参数:**
Z
zengyawen 已提交
854

Z
zengyawen 已提交
855 856 857
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| index | number | 是 | 指定条目的下标。 |
Z
zengyawen 已提交
858

859 860
**返回值:**

Z
zengyawen 已提交
861 862 863
| 类型 | 说明 |
| -------- | -------- |
| [PasteDataRecord](#pastedatarecord7) | 指定下标的条目。 |
Z
zengyawen 已提交
864

865
**示例:**
Z
zengyawen 已提交
866

867 868 869 870
```js
var pasteData = pasteboard.createPlainTextData("hello");
var record = pasteData.getRecordAt(0);
```
Z
zengyawen 已提交
871 872 873 874 875 876


### getRecordCount<sup>7+</sup>

getRecordCount(): number

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

**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
880

881
**返回值:**
Z
zengyawen 已提交
882

Z
zengyawen 已提交
883 884 885
| 类型 | 说明 |
| -------- | -------- |
| number | 条目的个数。 |
Z
zengyawen 已提交
886

887
**示例:**
Z
zengyawen 已提交
888

889 890 891 892
```js
var pasteData = pasteboard.createPlainTextData("hello");
var count = pasteData.getRecordCount();
```
Z
zengyawen 已提交
893 894 895 896 897 898


### getTag<sup>7+</sup>

getTag(): string

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

**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
902

903
**返回值:**
Z
zengyawen 已提交
904

Z
zengyawen 已提交
905 906
| 类型 | 说明 |
| -------- | -------- |
907
| string | 返回用户自定义的标签内容,如果没有设置用户自定义的标签内容,将返回空。 |
Z
zengyawen 已提交
908

909
**示例:**
Z
zengyawen 已提交
910

911 912 913 914
```js
var pasteData = pasteboard.createPlainTextData("hello");
var tag = pasteData.getTag();
```
Z
zengyawen 已提交
915 916 917 918 919 920


### hasMimeType<sup>7+</sup>

hasMimeType(mimeType: string): boolean

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

**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
924

925
**参数:**
Z
zengyawen 已提交
926

Z
zengyawen 已提交
927 928 929
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| mimeType | string | 是 | 待查询的数据类型。 |
Z
zengyawen 已提交
930

931 932
**返回值:**

Z
zengyawen 已提交
933 934 935
| 类型 | 说明 |
| -------- | -------- |
| boolean | 有指定的数据类型返回true,否则返回false。 |
Z
zengyawen 已提交
936

937
**示例:**
Z
zengyawen 已提交
938

939 940 941 942
```js
var pasteData = pasteboard.createPlainTextData("hello");
var hasType = pasteData.hasMimeType(pasteboard.MIMETYPE_TEXT_PLAIN);
```
Z
zengyawen 已提交
943 944 945 946 947 948


### removeRecordAt<sup>7+</sup>

removeRecordAt(index: number): boolean

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

**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
952

953
**参数:**
Z
zengyawen 已提交
954

Z
zengyawen 已提交
955 956 957
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| index | number | 是 | 指定的下标。 |
Z
zengyawen 已提交
958

959 960
**返回值:**

Z
zengyawen 已提交
961 962 963
| 类型 | 说明 |
| -------- | -------- |
| boolean | 成功移除返回true,失败返回false。 |
Z
zengyawen 已提交
964

965
**示例:**
Z
zengyawen 已提交
966

967 968 969 970
```js
var pasteData = pasteboard.createPlainTextData("hello");
var isRemove = pasteData.removeRecordAt(0);
```
Z
zengyawen 已提交
971 972 973 974 975 976


### replaceRecordAt<sup>7+</sup>

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

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

**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
980

981
**参数:**
Z
zengyawen 已提交
982

Z
zengyawen 已提交
983 984 985 986
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| index | number | 是 | 指定的下标。 |
| record | [PasteDataRecord](#pastedatarecord7) | 是 | 替换后的条目。 |
Z
zengyawen 已提交
987

988
**返回值:**
Z
zengyawen 已提交
989

Z
zengyawen 已提交
990 991
| 类型 | 说明 |
| -------- | -------- |
992
| boolean | 成功替换返回true,失败返回false。 |
Z
zengyawen 已提交
993

994
**示例:**
Z
zengyawen 已提交
995

996 997 998 999 1000
```js
var pasteData = pasteboard.createPlainTextData("hello");
var record = pasteboard.createUriRecord("dataability:///com.example.myapplication1/user.txt");
var isReplace = pasteData.replaceRecordAt(0, record);
```
Z
zengyawen 已提交
1001 1002 1003

## SystemPasteboard

1004
系统剪贴板对象。  
Z
zengyawen 已提交
1005

1006 1007 1008
在调用SystemPasteboard的接口前,需要先通过[getSystemPasteboard](#pasteboardgetsystempasteboard)获取系统剪贴板。

```js
Z
zengyawen 已提交
1009 1010 1011 1012 1013 1014
var systemPasteboard = pasteboard.getSystemPasteboard();
```


### setPasteData

Z
zengyawen 已提交
1015
setPasteData(data:PasteData, callback:AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
1016

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

**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
1020

1021
**参数:**
Z
zengyawen 已提交
1022

Z
zengyawen 已提交
1023 1024 1025
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| data | [PasteData](#pastedata) | 是 | PasteData对象。 |
1026
| callback | AsyncCallback&lt;void> | 是 | 回调函数。当写入成功,err为undefined,否则为错误对象。 |
Z
zengyawen 已提交
1027

1028
**示例:**
Z
zengyawen 已提交
1029

1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040
```js
var pasteData = pasteboard.createPlainTextData("content");
var 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.');
});
```
Z
zengyawen 已提交
1041 1042 1043 1044


### setPasteData

Z
zengyawen 已提交
1045
setPasteData(data:PasteData): Promise&lt;void&gt;
Z
zengyawen 已提交
1046

1047
将数据写入系统剪贴板,使用Promise异步回调。
Z
zengyawen 已提交
1048

1049 1050 1051
**系统能力:** SystemCapability.MiscServices.Pasteboard

**参数:**
Z
zengyawen 已提交
1052

Z
zengyawen 已提交
1053 1054 1055
| 参数名 | 类型 | 说明 |
| -------- | -------- | -------- |
| data | [PasteData](#pastedata) | PasteData对象。 |
Z
zengyawen 已提交
1056

1057 1058
**返回值:**

Z
zengyawen 已提交
1059 1060
| 类型 | 说明 |
| -------- | -------- |
1061
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
zengyawen 已提交
1062

1063
**示例:**
Z
zengyawen 已提交
1064

1065 1066 1067 1068 1069 1070 1071 1072 1073
```js
var pasteData = pasteboard.createPlainTextData("content");
var systemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.setPasteData(pasteData).then((data) => {
    console.info('Succeeded in setting PasteData.');
}).catch((err) => {
    console.error('Failed to set PasteData. Cause: ' + err.message);
});
```
Z
zengyawen 已提交
1074 1075 1076 1077 1078 1079


### getPasteData

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

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

**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
1083

1084
**参数:**
Z
zengyawen 已提交
1085

Z
zengyawen 已提交
1086 1087
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
1088
| callback | AsyncCallback&lt;[PasteData](#pastedata)&gt; | 是 | 回调函数。当读取成功,err为undefined,data为返回的系统剪贴板数据;否则返回错误对象。 |
Z
zengyawen 已提交
1089

1090
**示例:**
Z
zengyawen 已提交
1091

1092 1093 1094 1095 1096 1097 1098 1099 1100 1101
```js
var systemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.getPasteData((err, pasteData) => {  
    if (err) {
        console.error('Failed to get PasteData. Cause: ' + err.message);
        return;
    }
    var text = pasteData.getPrimaryText();
});
```
Z
zengyawen 已提交
1102 1103 1104 1105 1106 1107


### getPasteData

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

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

**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
1111

1112
**返回值:**
Z
zengyawen 已提交
1113

Z
zengyawen 已提交
1114 1115
| 类型 | 说明 |
| -------- | -------- |
1116
| Promise&lt;[PasteData](#pastedata)&gt; | Promise对象,返回系统剪贴板数据。 |
Z
zengyawen 已提交
1117

1118
**示例:**
Z
zengyawen 已提交
1119

1120 1121 1122 1123 1124 1125 1126 1127
```js
var systemPasteboard = pasteboard.getSystemPasteboard();
systemPasteboard.getPasteData().then((pasteData) => { 
    var text = pasteData.getPrimaryText();
}).catch((err) => {
    console.error('Failed to get PasteData. Cause: ' + err.message);
})
```
Z
zengyawen 已提交
1128 1129 1130 1131 1132 1133 1134 1135


### on('update')<sup>7+</sup>

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

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

1136 1137 1138
**系统能力:** SystemCapability.MiscServices.Pasteboard

**参数:**
Z
zengyawen 已提交
1139

Z
zengyawen 已提交
1140 1141 1142 1143
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 取值为'update',表示系统剪贴板内容变化事件。 |
| callback | function | 是 | 剪贴板中内容变化时触发的用户程序的回调。 |
Z
zengyawen 已提交
1144

1145
**示例:**
Z
zengyawen 已提交
1146

1147 1148 1149 1150 1151 1152 1153
```js
var systemPasteboard = pasteboard.getSystemPasteboard();
var listener = () => {
    console.info('The system pasteboard has changed.');
};
systemPasteboard.on('update', listener);
```
Z
zengyawen 已提交
1154 1155 1156 1157


### off('update')<sup>7+</sup>

Z
zengyawen 已提交
1158
off(type:  'update', callback?: () =&gt;void ): void
Z
zengyawen 已提交
1159 1160 1161

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

1162 1163 1164
**系统能力:** SystemCapability.MiscServices.Pasteboard

**参数:**
Z
zengyawen 已提交
1165

Z
zengyawen 已提交
1166 1167 1168 1169
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 取值为'update',表示系统剪贴板内容变化事件。 |
| callback | function | 否 | 剪贴板中内容变化时触发的用户程序的回调。 |
Z
zengyawen 已提交
1170

1171
**示例:**
Z
zengyawen 已提交
1172

1173 1174 1175 1176 1177 1178
```js
let listener = () => {
    console.info('The system pasteboard has changed.');
};    
systemPasteboard.off('update', listener);
```
Z
zengyawen 已提交
1179 1180 1181 1182 1183 1184


### hasPasteData<sup>7+</sup>

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

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

**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
1188

1189
**参数:**
Z
zengyawen 已提交
1190

Z
zengyawen 已提交
1191 1192
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205
| callback | AsyncCallback&lt;boolean&gt; | 是 | 返回true表示系统剪贴板中有内容,返回false表示系统剪贴板中没有内容。 |

**示例:**

```js
systemPasteboard.hasPasteData((err, data) => {
    if (err) {
        console.error('Failed to check the PasteData. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in checking the PasteData. Data: ' + JSON.stringify(data));
});
```
Z
zengyawen 已提交
1206 1207 1208 1209 1210 1211


### hasPasteData<sup>7+</sup>

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

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

**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
1215

1216
**返回值:**
Z
zengyawen 已提交
1217

Z
zengyawen 已提交
1218 1219
| 类型 | 说明 |
| -------- | -------- |
1220
| Promise&lt;boolean&gt; | 返回true表示系统剪贴板中有内容,返回false表示系统剪贴板中没有内容。 |
Z
zengyawen 已提交
1221

1222
**示例:**
Z
zengyawen 已提交
1223

1224 1225 1226 1227 1228 1229 1230
```js
systemPasteboard.hasPasteData().then((data) => { 
    console.info('Succeeded in checking the PasteData. Data: ' + JSON.stringify(data));
}).catch((err) => {
    console.error('Failed to check the PasteData. Cause: ' + JSON.stringify(err));
});
```
Z
zengyawen 已提交
1231 1232 1233 1234 1235 1236


### clear<sup>7+</sup>

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

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

**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
1240

1241
**参数:**
Z
zengyawen 已提交
1242

Z
zengyawen 已提交
1243 1244
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。当成功清空时,err为undefined;否则为错误对象。 |

**示例:**

```js
systemPasteboard.clear((err, data) => { 
    if (err) {        
        console.error('Failed to clear the PasteData. Cause: ' + JSON.stringify(err));        
        return;    
    }
    console.info('Succeeded in clearing the PasteData.');
});
```
Z
zengyawen 已提交
1258 1259 1260 1261 1262 1263


### clear<sup>7+</sup>

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

1264
清空系统剪贴板内容,使用Promise异步回调。
Z
zengyawen 已提交
1265

1266
**系统能力:** SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
1267

1268
**返回值:**
Z
zengyawen 已提交
1269

Z
zengyawen 已提交
1270 1271
| 类型 | 说明 |
| -------- | -------- |
1272
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
zengyawen 已提交
1273

1274
**示例:**
Z
zengyawen 已提交
1275

1276 1277 1278 1279 1280 1281 1282
```js
systemPasteboard.clear().then((data) => { 
    console.info('Succeeded in clearing the PasteData.');
}).catch((err) => {    
    console.error('Failed to clear the PasteData. Cause: ' + JSON.stringify(err));
});
```