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

3
 剪贴板服务主要组件包括剪贴板管理客户端和剪贴板服务。剪贴板管理客户端负责剪贴板接口管理,提供剪贴板北向JS API给应用;在应用框架侧创建剪贴板数据、请求剪贴板SA执行剪贴板的新建、删除、查询、转换文本、配置等。剪贴板服务负责剪贴板事件管理,管理剪贴板SA的生命周期,为系统复制、粘贴功能提供支持。
Z
zengyawen 已提交
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。


## 导入模块


```
import pasteboard from '@ohos.pasteboard';
```


## 属性

19
**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Pasteboard。
Z
zengyawen 已提交
20 21 22

| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
23
| MAX_RECORD_NUM<sup>7+</sup> | number | 是 | 否 | 单个PasteData中所能包含的Record的数量上限。 |
Z
zengyawen 已提交
24 25 26 27
| MIMETYPE_TEXT_HTML<sup>7+</sup> | string | 是 | 否 | HTML&nbsp;text文本的MIME类型定义。 |
| MIMETYPE_TEXT_WANT<sup>7+</sup> | string | 是 | 否 | Want的MIME类型定义。 |
| MIMETYPE_TEXT_PLAIN<sup>7+</sup> | string | 是 | 否 | Plain&nbsp;text文本的MIME类型定义。 |
| MIMETYPE_TEXT_URI<sup>7+</sup> | string | 是 | 否 | URI文本的MIME类型定义。 |
28
| MIMETYPE_PIXELMAP<sup>9+</sup> | string | 是 | 否 | PixelMap的MIME类型定义。 |
Z
zengyawen 已提交
29 30 31 32 33 34 35 36


## pasteboard.createPlainTextData

createPlainTextData(text:string): PasteData

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

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

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

Z
zengyawen 已提交
44
**返回值**
Z
zengyawen 已提交
45 46 47
| 类型 | 说明 |
| -------- | -------- |
| [PasteData](#pastedata) | 包含此内容的剪贴板内容对象。 |
Z
zengyawen 已提交
48

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

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


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

createHtmlData(htmlText:string): PasteData

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

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

Z
zengyawen 已提交
64
**参数**
Z
zengyawen 已提交
65 66 67
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| htmlText | string | 是 | 待保存的HTML文本内容。 |
Z
zengyawen 已提交
68

Z
zengyawen 已提交
69
**返回值**
Z
zengyawen 已提交
70 71 72
| 类型 | 说明 |
| -------- | -------- |
| [PasteData](#pastedata) | 包含此内容的剪贴板内容对象。 |
Z
zengyawen 已提交
73

Z
zengyawen 已提交
74 75
**示例**

76
  ```js
Z
zengyawen 已提交
77 78 79 80 81 82 83 84 85 86 87
  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);
  ```


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

createWantData(want:Want): PasteData

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

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

Z
zengyawen 已提交
90
**参数**
Z
zengyawen 已提交
91 92
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
ahjxliubao2's avatar
ahjxliubao2 已提交
93
| want | [Want](js-apis-application-Want.md) | 是 | 待保存的Want内容。 |
Z
zengyawen 已提交
94

Z
zengyawen 已提交
95
**返回值**
Z
zengyawen 已提交
96 97 98
| 类型 | 说明 |
| -------- | -------- |
| [PasteData](#pastedata) | 包含此内容的剪贴板内容对象。 |
Z
zengyawen 已提交
99

Z
zengyawen 已提交
100 101
**示例**

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


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

createUriData(uri:string): PasteData

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

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

Z
zengyawen 已提交
119
**参数**
Z
zengyawen 已提交
120 121 122
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| uri | string | 是 | 待保存的URI内容。 |
Z
zengyawen 已提交
123

Z
zengyawen 已提交
124
**返回值**
Z
zengyawen 已提交
125 126 127
| 类型 | 说明 |
| -------- | -------- |
| [PasteData](#pastedata) | 包含此内容的剪贴板内容对象。 |
Z
zengyawen 已提交
128

Z
zengyawen 已提交
129 130
**示例**

131
  ```js
132
  var pasteData = pasteboard.createUriData("dataability:///com.example.myapplication1/user.txt");
Z
zengyawen 已提交
133 134 135
  ```


136 137 138 139 140 141 142 143 144 145 146
## pasteboard.createPixelMapData<sup>9+</sup>

createPixelMapData((pixelMap: image.PixelMap): PasteData

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

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

**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
147
| pixelMap | [image.PixelMap](js-apis-image.md#pixelmap7) | 是 | 待保存的PixelMap内容。 |
148 149 150 151 152 153 154 155 156

**返回值**
| 类型 | 说明 |
| -------- | -------- |
| [PasteData](#pastedata) | 包含此内容的剪贴板内容对象。 |

**示例**

  ```js
157
  import image from '@ohos.multimedia.image';
158 159
  var buffer = new ArrayBuffer(128)
  var opt = {
160 161 162 163 164
    size: { height: 3, width: 5 },
    pixelFormat: 3,
    editable: true,
    alphaType: 1,
    scaleMode: 1
165 166 167 168 169 170 171
  }
  image.createPixelMap(buffer, opt).then((pixelMap) => {
    var pasteData = pasteboard.createPixelMapData(pixelMap); 
  })
  ```


Z
zengyawen 已提交
172 173 174 175 176 177
## pasteboard.createPlainTextRecord<sup>7+</sup>

createPlainTextRecord(text:string): PasteDataRecord

创建一条文本类型的内容条目。

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

Z
zengyawen 已提交
180
**参数**
Z
zengyawen 已提交
181 182 183
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| text | string | 是 | 纯文本内容。 |
Z
zengyawen 已提交
184

Z
zengyawen 已提交
185
**返回值**
Z
zengyawen 已提交
186 187 188
| 类型 | 说明 |
| -------- | -------- |
| [PasteDataRecord](#pastedatarecord7) | 一条新建的纯文本内容条目。 |
Z
zengyawen 已提交
189

Z
zengyawen 已提交
190 191
**示例**

192
  ```js
Z
zengyawen 已提交
193 194 195 196 197 198 199 200 201 202
  var record = pasteboard.createPlainTextRecord("hello");
  ```


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

createHtmlTextRecord(htmlText:string): PasteDataRecord

创建一条HTML内容的条目。

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

Z
zengyawen 已提交
205
**参数**
Z
zengyawen 已提交
206 207
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
208
| htmlText | string | 是 | HTML内容。 |
Z
zengyawen 已提交
209

Z
zengyawen 已提交
210
**返回值**
Z
zengyawen 已提交
211 212 213
| 类型 | 说明 |
| -------- | -------- |
| [PasteDataRecord](#pastedatarecord7) | 一条新建的HTML内容条目。 |
Z
zengyawen 已提交
214

Z
zengyawen 已提交
215 216
**示例**

217
  ```js
Z
zengyawen 已提交
218 219 220 221 222 223 224 225 226 227 228
  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);
  ```


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

createWantRecord(want:Want): PasteDataRecord

创建一条Want内容条目。

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

Z
zengyawen 已提交
231
**参数**
Z
zengyawen 已提交
232 233
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
ahjxliubao2's avatar
ahjxliubao2 已提交
234
| want | [Want](js-apis-application-Want.md) | 是 | Want类型数据。 |
Z
zengyawen 已提交
235

Z
zengyawen 已提交
236
**返回值**
Z
zengyawen 已提交
237 238 239
| 类型 | 说明 |
| -------- | -------- |
| [PasteDataRecord](#pastedatarecord7) | 一条新建的Want内容条目 |
Z
zengyawen 已提交
240

Z
zengyawen 已提交
241 242
**示例**

243
  ```js
Z
zengyawen 已提交
244
  var object = {
245 246
      bundleName: "com.example.aafwk.test",
      abilityName: "com.example.aafwk.test.TwoAbility"
Z
zengyawen 已提交
247 248 249 250 251 252 253 254 255 256 257
  };
  var record = pasteboard.createWantRecord(object);
  ```


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

createUriRecord(uri:string): PasteDataRecord

创建一条URI内容的条目。

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

Z
zengyawen 已提交
260
**参数**
Z
zengyawen 已提交
261 262 263
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| uri | string | 是 | URI内容。 |
Z
zengyawen 已提交
264

Z
zengyawen 已提交
265
**返回值**
Z
zengyawen 已提交
266 267 268
| 类型 | 说明 |
| -------- | -------- |
| [PasteDataRecord](#pastedatarecord7) | 一条新建的URI内容条目。 |
Z
zengyawen 已提交
269

Z
zengyawen 已提交
270 271
**示例**

272
  ```js
273
  var record = pasteboard.createUriRecord("dataability:///com.example.myapplication1/user.txt");
Z
zengyawen 已提交
274 275
  ```

276

277 278 279 280
## pasteboard.createPixelMapRecord<sup>9+</sup>

createPixelMapRecord(pixelMap:image.PixelMap): PasteDataRecord

281
创建一条PixelMap对象内容的条目。
282 283 284 285 286 287

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

**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
288
| pixelMap | [image.PixelMap](js-apis-image.md#pixelmap7) | 是 | PixelMap对象内容。 |
289 290 291 292

**返回值**
| 类型 | 说明 |
| -------- | -------- |
293
| [PasteDataRecord](#pastedatarecord7) | 一条新建的PixelMap对象内容条目。 |
294 295 296 297

**示例**

  ```js
298
  import image from '@ohos.multimedia.image';
299 300
  var buffer = new ArrayBuffer(128)
  var opt = {
301 302 303 304 305
    size: { height: 3, width: 5 },
    pixelFormat: 3,
    editable: true,
    alphaType: 1,
    scaleMode: 1
306 307 308 309 310 311
  }
  image.createPixelMap(buffer, opt).then((pixelMap) => {
    var record = pasteboard.createPixelMapRecord(pixelMap); 
  })
  ```

Z
zengyawen 已提交
312

313
## ShareOption<sup>9+</sup>
314 315 316 317 318 319 320

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

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

| 名称  | 说明                    |
| -----  | ----------------------- |
321 322
| InApp  |InApp表示仅允许同应用内粘贴。  |
| LocalDevice  |LocalDevice表示仅允许在此设备中粘贴。  |
323 324


325
## PasteDataProperty<sup>7+</sup>
Z
zengyawen 已提交
326

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

329
**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Pasteboard。
Z
zengyawen 已提交
330

Z
zengyawen 已提交
331
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
Z
zengyawen 已提交
332
| -------- | -------- | -------- | -------- | -------- |
333 334 335 336 337
| additions<sup>7+</sup> | {[key:&nbsp;string]:&nbsp;object} | 是 | 是 | 设置的其他附加属性数据。 |
| mimeTypes<sup>7+</sup> | Array&lt;string&gt; | 是 | 否 | 剪贴板内容条目的数据类型,&nbsp;非重复的类型列表。 |
| tag<sup>7+</sup> | string | 是 | 是 | 用户自定义标签。 |
| timestamp<sup>7+</sup> | number | 是 | 否 | 剪贴板数据的写入时间戳(毫秒)。 |
| localOnly<sup>7+</sup> | boolean | 是 | 是 | 配置剪贴板内容的“仅在本地”标志位。<br/>-&nbsp;默认情况为true。<br/>-&nbsp;配置为true时,表示内容仅在本地,不会在设备之间传递。<br/>-&nbsp;配置为false时,表示内容将在设备间传递。 |
338
| shareOption<sup>9+</sup> | [ShareOption](#shareoption9) | 是 | 是 | 指示剪贴板数据可以粘贴到的范围。 |
Z
zengyawen 已提交
339 340 341 342 343 344 345 346 347


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

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


### 属性

348
**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Pasteboard。
Z
zengyawen 已提交
349 350 351 352

| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| htmlText<sup>7+</sup> | string | 是 | 否 | HTML文本内容。 |
ahjxliubao2's avatar
ahjxliubao2 已提交
353
| want<sup>7+</sup> | [Want](js-apis-application-Want.md) | 是 | 否 | Want文本内容。 |
Z
zengyawen 已提交
354 355 356
| mimeType<sup>7+</sup> | string | 是 | 否 | 数据类型。 |
| plainText<sup>7+</sup> | string | 是 | 否 | 文本内容。 |
| uri<sup>7+</sup> | string | 是 | 否 | URI内容。 |
357
| pixelMap<sup>9+</sup> | [image.PixelMap](js-apis-image.md#pixelmap7) | 是 | 否 | PixelMap内容。 |
Z
zengyawen 已提交
358 359 360 361 362 363 364 365


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

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

实例方法,将一个PasteData中的内容强制转换为文本内容,并使用Promise异步方式返回结果。

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

Z
zengyawen 已提交
368
**返回值**
Z
zengyawen 已提交
369 370 371
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 异步回调函数,调用成功则返回强制转换的文本内容,调用失败则返回error信息。 |
Z
zengyawen 已提交
372

Z
zengyawen 已提交
373 374
**示例**

375
  ```js
376
  var record = pasteboard.createUriRecord("dataability:///com.example.myapplication1/user.txt");
Z
zengyawen 已提交
377 378
  record.convertToText().then((data) => {
      console.info('convertToText success data : ' + JSON.stringify(data));
379
  }).catch((error) => {
Z
zengyawen 已提交
380 381 382 383 384 385 386 387 388 389 390
      console.error('convertToText failed because ' + JSON.stringify(error));
  });
  ```


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

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

实例方法,将一个PasteData中的内容强制转换为文本内容,并使用callback方式返回结果。

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

Z
zengyawen 已提交
393
**参数**
Z
zengyawen 已提交
394 395 396
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;string&gt; | 是 | 回调函数,调用成功则返回强制转换的文本内容,调用失败则返回error信息。 |
Z
zengyawen 已提交
397

Z
zengyawen 已提交
398 399
**示例**

400
  ```js
401
  var record = pasteboard.createUriRecord("dataability:///com.example.myapplication1/user.txt");
Z
zengyawen 已提交
402 403 404 405 406 407 408 409 410 411 412 413 414 415
  record.convertToText((err, data) => {    
      if (err) {        
          console.error('convertToText failed because ' + JSON.stringify(err));        
          return;   
        }
      console.info('convertToText success data : ' + JSON.stringify(data));
  });
  ```


## PasteData

在调用PasteData的接口前,需要先获取一个PasteData对象。

416
**系统能力**: SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
417 418 419 420 421 422 423 424 425 426


### getPrimaryText


getPrimaryText(): string


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

427
**系统能力**: SystemCapability.MiscServices.Pasteboard
Z
zengyawen 已提交
428 429


Z
zengyawen 已提交
430
**返回值**
Z
zengyawen 已提交
431 432 433
| 类型 | 说明 |
| -------- | -------- |
| string | 纯文本内容。 |
Z
zengyawen 已提交
434

Z
zengyawen 已提交
435 436
**示例**

437
  ```js
Z
zengyawen 已提交
438 439 440 441 442 443 444 445 446 447 448
  var pasteData = pasteboard.createPlainTextData("hello");
  var plainText = pasteData.getPrimaryText();
  ```


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

getPrimaryHtml(): string

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

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

Z
zengyawen 已提交
451
**返回值**
Z
zengyawen 已提交
452 453 454
| 类型 | 说明 |
| -------- | -------- |
| string | HTML文本数据。 |
Z
zengyawen 已提交
455

Z
zengyawen 已提交
456 457
**示例**

458
  ```js
Z
zengyawen 已提交
459 460 461 462 463 464 465 466 467 468 469 470
  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();
  ```


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

getPrimaryWant(): Want

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

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

Z
zengyawen 已提交
473
**返回值**
Z
zengyawen 已提交
474 475
| 类型 | 说明 |
| -------- | -------- |
ahjxliubao2's avatar
ahjxliubao2 已提交
476
| [Want](js-apis-application-Want.md) | Want对象内容。 |
Z
zengyawen 已提交
477

Z
zengyawen 已提交
478 479
**示例**

480
  ```js
Z
zengyawen 已提交
481
  var object = { 
482 483
      bundleName: "com.example.aafwk.test",    
      abilityName: "com.example.aafwk.test.TwoAbility"
Z
zengyawen 已提交
484 485 486 487 488 489 490 491 492 493 494 495
  };
  var pasteData = pasteboard.createWantData(object);
  var want = pasteData.getPrimaryWant();
  ```


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

getPrimaryUri(): string

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

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

Z
zengyawen 已提交
498
**返回值**
Z
zengyawen 已提交
499 500 501
| 类型 | 说明 |
| -------- | -------- |
| string | URI文本内容。 |
Z
zengyawen 已提交
502

Z
zengyawen 已提交
503 504
**示例**

505
  ```js
506
  var pasteData = pasteboard.createUriData("dataability:///com.example.myapplication1/user.txt");
Z
zengyawen 已提交
507 508 509 510
  var uri = pasteData.getPrimaryUri();
  ```


511 512 513 514
### getPrimaryPixelMap<sup>9+</sup>

getPrimaryPixelMap(): image.PixelMap

515
获取首个条目的PixelMap对象内容。
516 517 518 519 520 521

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

**返回值**
| 类型 | 说明 |
| -------- | -------- |
522
| [image.PixelMap](js-apis-image.md#pixelmap7) | PixelMap对象内容。 |
523 524 525 526

**示例**

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

529 530
  var buffer = new ArrayBuffer(128)
  var opt = {
531 532 533 534 535
    size: { height: 3, width: 5 },
    pixelFormat: 3,
    editable: true,
    alphaType: 1,
    scaleMode: 1
536 537
  }
  image.createPixelMap(buffer, opt).then((pixelMap) => {
538 539
      var pasteData = pasteboard.createPixelMapData(pixelMap);
      var pixelMap = pasteData.getPrimaryPixelMap();
540 541 542 543
  })
  ```


Z
zengyawen 已提交
544 545 546 547 548 549 550 551
### addTextRecord<sup>7+</sup>

addTextRecord(text: string): void

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

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

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

Z
zengyawen 已提交
554
**参数**
Z
zengyawen 已提交
555 556 557
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| text | string | 是 | 纯文本内容。 |
Z
zengyawen 已提交
558

Z
zengyawen 已提交
559 560
**示例**

561
  ```js
Z
zengyawen 已提交
562 563 564 565 566 567 568 569 570 571 572 573 574
  var pasteData = pasteboard.createPlainTextData("hello");
  pasteData.addTextRecord("good");
  ```


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

addHtmlRecord(htmlText: string): void

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

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

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

Z
zengyawen 已提交
577
**参数**
Z
zengyawen 已提交
578 579 580
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| htmlText | string | 是 | HTML格式的文本内容。 |
Z
zengyawen 已提交
581

Z
zengyawen 已提交
582 583
**示例**

584
  ```js
Z
zengyawen 已提交
585 586 587 588 589 590 591 592
  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);
  ```


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

Z
zengyawen 已提交
593
addWantRecord(want: Want): void
Z
zengyawen 已提交
594

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

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

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

Z
zengyawen 已提交
601
**参数**
Z
zengyawen 已提交
602 603
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
ahjxliubao2's avatar
ahjxliubao2 已提交
604
| want | [Want](js-apis-application-Want.md) | 是 | Want对象内容。 |
Z
zengyawen 已提交
605

Z
zengyawen 已提交
606 607
**示例**

608
  ```js
Z
zengyawen 已提交
609 610
  var pasteData = pasteboard.createPlainTextData("hello");
  var object = { 
611 612
      bundleName: "com.example.aafwk.test",    
      abilityName: "com.example.aafwk.test.TwoAbility"
Z
zengyawen 已提交
613 614 615 616 617 618 619 620 621 622 623 624 625
  };
  pasteData.addWantRecord(object);
  ```


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

addUriRecord(uri: string): void

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

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

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

Z
zengyawen 已提交
628
**参数**
Z
zengyawen 已提交
629 630 631
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| uri | string | 是 | URI文本内容。 |
Z
zengyawen 已提交
632

Z
zengyawen 已提交
633 634
**示例**

635
  ```js
Z
zengyawen 已提交
636
  var pasteData = pasteboard.createPlainTextData("hello");
637
  pasteData.addUriRecord("dataability:///com.example.myapplication1/user.txt");
Z
zengyawen 已提交
638 639
  ```

640 641 642 643 644 645
### addPixelMapRecord<sup>9+</sup>

addPixelMapRecord(pixelMap: image.PixelMap): void

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

646
剪贴板内容中添加的条目达到数量上限512后,后续的添加操作无效。
647 648 649 650 651 652

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

**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
653
| pixelMap | [image.PixelMap](js-apis-image.md#pixelmap7) | 是 | PixelMap对象内容。 |
654 655 656 657

**示例**

  ```js
658
  import image from '@ohos.multimedia.image';
659 660
  var buffer = new ArrayBuffer(128)
  var opt = {
661 662 663 664 665
    size: { height: 3, width: 5 },
    pixelFormat: 3,
    editable: true,
    alphaType: 1,
    scaleMode: 1
666 667 668 669 670 671
  }
  image.createPixelMap(buffer, opt).then((pixelMap) => {
    var record = pasteboard.createPlainTextData("hello").addPixelMapRecord(pixelMap); 
  })
  ```

Z
zengyawen 已提交
672 673 674 675 676 677 678 679 680

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

addRecord(record: PasteDataRecord): void

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

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

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

Z
zengyawen 已提交
683
**参数**
Z
zengyawen 已提交
684 685 686
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| record | [PasteDataRecord](#pastedatarecord7) | 是 | 待添加的条目。 |
Z
zengyawen 已提交
687

Z
zengyawen 已提交
688 689
**示例**

690
  ```js
691
  var pasteData = pasteboard.createUriData("dataability:///com.example.myapplication1/user.txt");
Z
zengyawen 已提交
692 693 694 695 696 697 698 699 700 701 702 703 704 705
  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);
  ```


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

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

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

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

Z
zengyawen 已提交
708
**返回值**
Z
zengyawen 已提交
709 710 711
| 类型 | 说明 |
| -------- | -------- |
| Array&lt;string&gt; | 非重复的类型列表。 |
Z
zengyawen 已提交
712

Z
zengyawen 已提交
713 714
**示例**

715
  ```js
Z
zengyawen 已提交
716 717 718 719 720 721 722 723 724 725 726
  var pasteData = pasteboard.createPlainTextData("hello");
  var types = pasteData.getMimeTypes();
  ```


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

getPrimaryMimeType(): string

获取首个条目的数据类型。

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

Z
zengyawen 已提交
729
**返回值**
Z
zengyawen 已提交
730 731 732
| 类型 | 说明 |
| -------- | -------- |
| string | 首个条目的数据类型。 |
Z
zengyawen 已提交
733

Z
zengyawen 已提交
734 735
**示例**

736
  ```js
Z
zengyawen 已提交
737 738 739 740 741 742 743 744 745 746 747
  var pasteData = pasteboard.createPlainTextData("hello");
  var type = pasteData.getPrimaryMimeType();
  ```


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

getProperty(): PasteDataProperty

获取属性描述对象。

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

Z
zengyawen 已提交
750
**返回值**
Z
zengyawen 已提交
751 752 753
| 类型 | 说明 |
| -------- | -------- |
| [PasteDataProperty](#pastedataproperty7) | 属性描述对象。 |
Z
zengyawen 已提交
754

Z
zengyawen 已提交
755 756
**示例**

757
  ```js
Z
zengyawen 已提交
758 759 760 761 762
  var pasteData = pasteboard.createPlainTextData("hello");
  var property = pasteData.getProperty();
  ```


763
### setProperty<sup>9+</sup>
764

765
setProperty(property: PasteDataProperty): void
766

767
设置属性描述对象,当前仅支持设置shareOption属性。
768 769 770 771 772 773

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

**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
774
| property | [PasteDataProperty](#pastedataproperty7) | 是 | 属性描述对象。 |
775 776 777 778 779

**示例**

  ```js
  var pasteData = pasteboard.createHtmlData('application/xml');
780 781
  let prop = pasteData.getProperty();
  prop.shareOption = pasteboard.ShareOption.InApp;
782
  pasteData.setProperty(prop);
783 784 785
  ```


Z
zengyawen 已提交
786 787 788 789 790 791
### getRecordAt<sup>7+</sup>

getRecordAt(index: number): PasteDataRecord

获取指定下标的条目。

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

Z
zengyawen 已提交
794
**参数**
Z
zengyawen 已提交
795 796 797
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| index | number | 是 | 指定条目的下标。 |
Z
zengyawen 已提交
798

Z
zengyawen 已提交
799
**返回值**
Z
zengyawen 已提交
800 801 802
| 类型 | 说明 |
| -------- | -------- |
| [PasteDataRecord](#pastedatarecord7) | 指定下标的条目。 |
Z
zengyawen 已提交
803

Z
zengyawen 已提交
804 805
**示例**

806
  ```js
Z
zengyawen 已提交
807 808 809 810 811 812 813 814 815 816 817
  var pasteData = pasteboard.createPlainTextData("hello");
  var record = pasteData.getRecordAt(0);
  ```


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

getRecordCount(): number

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

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

Z
zengyawen 已提交
820
**返回值**
Z
zengyawen 已提交
821 822 823
| 类型 | 说明 |
| -------- | -------- |
| number | 条目的个数。 |
Z
zengyawen 已提交
824

Z
zengyawen 已提交
825 826
**示例**

827
  ```js
Z
zengyawen 已提交
828 829 830 831 832 833 834 835 836 837 838
  var pasteData = pasteboard.createPlainTextData("hello");
  var count = pasteData.getRecordCount();
  ```


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

getTag(): string

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

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

Z
zengyawen 已提交
841
**返回值**
Z
zengyawen 已提交
842 843 844
| 类型 | 说明 |
| -------- | -------- |
| string | 获取用户自定义的标签内容,如果没有设置用户自定义的标签内容将返回空。 |
Z
zengyawen 已提交
845

Z
zengyawen 已提交
846 847
**示例**

848
  ```js
Z
zengyawen 已提交
849 850 851 852 853 854 855 856 857 858 859
  var pasteData = pasteboard.createPlainTextData("hello");
  var tag = pasteData.getTag();
  ```


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

hasMimeType(mimeType: string): boolean

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

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

Z
zengyawen 已提交
862
**参数**
Z
zengyawen 已提交
863 864 865
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| mimeType | string | 是 | 待查询的数据类型。 |
Z
zengyawen 已提交
866

Z
zengyawen 已提交
867
**返回值**
Z
zengyawen 已提交
868 869 870
| 类型 | 说明 |
| -------- | -------- |
| boolean | 有指定的数据类型返回true,否则返回false。 |
Z
zengyawen 已提交
871

Z
zengyawen 已提交
872 873
**示例**

874
  ```js
Z
zengyawen 已提交
875 876 877 878 879 880 881 882 883 884 885
  var pasteData = pasteboard.createPlainTextData("hello");
  var hasType = pasteData.hasMimeType(pasteboard.MIMETYPE_TEXT_PLAIN);
  ```


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

removeRecordAt(index: number): boolean

移除指定下标的条目。

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

Z
zengyawen 已提交
888
**参数**
Z
zengyawen 已提交
889 890 891
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| index | number | 是 | 指定的下标。 |
Z
zengyawen 已提交
892

Z
zengyawen 已提交
893
**返回值**
Z
zengyawen 已提交
894 895 896
| 类型 | 说明 |
| -------- | -------- |
| boolean | 成功移除返回true,失败返回false。 |
Z
zengyawen 已提交
897

Z
zengyawen 已提交
898 899
**示例**

900
  ```js
Z
zengyawen 已提交
901 902 903 904 905 906 907 908 909 910 911
  var pasteData = pasteboard.createPlainTextData("hello");
  var isRemove = pasteData.removeRecordAt(0);
  ```


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

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

替换指定下标的条目。

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

Z
zengyawen 已提交
914
**参数**
Z
zengyawen 已提交
915 916 917 918
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| index | number | 是 | 指定的下标。 |
| record | [PasteDataRecord](#pastedatarecord7) | 是 | 替换后的条目。 |
Z
zengyawen 已提交
919

Z
zengyawen 已提交
920
**返回值**
Z
zengyawen 已提交
921 922 923
| 类型 | 说明 |
| -------- | -------- |
| boolean | 成功替换返回true,失败返回false。 |
Z
zengyawen 已提交
924

Z
zengyawen 已提交
925 926
**示例**

927
  ```js
Z
zengyawen 已提交
928
  var pasteData = pasteboard.createPlainTextData("hello");
929
  var record = pasteboard.createUriRecord("dataability:///com.example.myapplication1/user.txt");
Z
zengyawen 已提交
930 931 932 933 934 935 936 937 938 939
  var isReplace = pasteData.replaceRecordAt(0, record);
  ```


## pasteboard.getSystemPasteboard

getSystemPasteboard(): SystemPasteboard

获取系统剪切板。

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

Z
zengyawen 已提交
942
**返回值**
Z
zengyawen 已提交
943 944 945
| 类型 | 说明 |
| -------- | -------- |
| [SystemPasteboard](#systempasteboard) | 系统剪切板对象。 |
Z
zengyawen 已提交
946

Z
zengyawen 已提交
947 948
**示例**

949
  ```js
Z
zengyawen 已提交
950 951 952 953 954 955 956 957 958 959 960 961 962 963 964
  var systemPasteboard = pasteboard.getSystemPasteboard();
  ```


## SystemPasteboard

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

```
var systemPasteboard = pasteboard.getSystemPasteboard();
```


### setPasteData

Z
zengyawen 已提交
965
setPasteData(data:PasteData, callback:AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
966 967 968

将数据写入系统剪切板,并使用callback方式返回结果。

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

Z
zengyawen 已提交
971
**参数**
Z
zengyawen 已提交
972 973 974 975
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| data | [PasteData](#pastedata) | 是 | PasteData对象。 |
| callback | AsyncCallback&lt;void> | 是 | 回调函数,表示是否成功将数据写入系统剪切板。 |
Z
zengyawen 已提交
976

Z
zengyawen 已提交
977 978
**示例**

979
  ```js
Z
zengyawen 已提交
980 981 982 983 984 985 986 987 988 989 990 991 992 993
  var pasteData = pasteboard.createPlainTextData("content");
  var systemPasteboard = pasteboard.getSystemPasteboard();
  systemPasteboard.setPasteData(pasteData, (error, data) => { 
      if (error) {
          console.error('Failed to setPasteData. Cause: ' + error.message);
          return;
      }
      console.info('setPasteData successfully.');
  });
  ```


### setPasteData

Z
zengyawen 已提交
994
setPasteData(data:PasteData): Promise&lt;void&gt;
Z
zengyawen 已提交
995 996 997

将数据写入系统剪切板,并使用Promise异步方式返回结果。

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

Z
zengyawen 已提交
1000
**参数**
Z
zengyawen 已提交
1001 1002 1003
| 参数名 | 类型 | 说明 |
| -------- | -------- | -------- |
| data | [PasteData](#pastedata) | PasteData对象。 |
Z
zengyawen 已提交
1004

Z
zengyawen 已提交
1005
**返回值**
Z
zengyawen 已提交
1006 1007 1008
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 异步回调函数,表示是否成功将数据写入系统剪切板。 |
Z
zengyawen 已提交
1009

Z
zengyawen 已提交
1010 1011
**示例**

1012
  ```js
Z
zengyawen 已提交
1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028
  var pasteData = pasteboard.createPlainTextData("content");
  var systemPasteboard = pasteboard.getSystemPasteboard();
  systemPasteboard.setPasteData(pasteData).then((data) => {
      console.info('setPasteData success.');
  }).catch((error) => {
      console.error('Failed to setPasteData. Cause: ' + error.message);
  });
  ```


### getPasteData

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

读取系统剪切板内容,并使用callback方式返回结果。

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

Z
zengyawen 已提交
1031
**参数**
Z
zengyawen 已提交
1032 1033 1034
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;[PasteData](#pastedata)&gt; | 是 | 回调函数,返回系统剪切板数据。 |
Z
zengyawen 已提交
1035

Z
zengyawen 已提交
1036 1037
**示例**

1038
  ```js
Z
zengyawen 已提交
1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055
  var systemPasteboard = pasteboard.getSystemPasteboard();
  systemPasteboard.getPasteData((error, pasteData) => {  
      if (error) {
          console.error('Failed to getPasteData. Cause: ' + error.message);
          return;
      }
      var text = pasteData.getPrimaryText();
  });
  ```


### getPasteData

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

读取系统剪切板内容,并使用Promise异步方式返回结果。

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

Z
zengyawen 已提交
1058
**返回值**
Z
zengyawen 已提交
1059 1060 1061
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;[PasteData](#pastedata)&gt; | 异步回调函数,调返回系统剪切板数据。 |
Z
zengyawen 已提交
1062

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

1065
  ```js
Z
zengyawen 已提交
1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080
  var systemPasteboard = pasteboard.getSystemPasteboard();
  systemPasteboard.getPasteData().then((pasteData) => { 
      var text = pasteData.getPrimaryText();
  }).catch((error) => {
      console.error('Failed to getPasteData. Cause: ' + error.message);
  })
  ```


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

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

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

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

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

Z
zengyawen 已提交
1089 1090
**示例**

1091
  ```js
Z
zengyawen 已提交
1092
  var systemPasteboard = pasteboard.getSystemPasteboard();
1093
  var listener = () => {
Z
zengyawen 已提交
1094 1095 1096 1097 1098 1099 1100 1101
      console.info('The system pasteboard has changed');
  };
  systemPasteboard.on('update', listener);
  ```


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

Z
zengyawen 已提交
1102
off(type:  'update', callback?: () =&gt;void ): void
Z
zengyawen 已提交
1103 1104 1105

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

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

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

Z
zengyawen 已提交
1114 1115
**示例**

1116
  ```js
1117
 let listener = () => {
1118
      console.info('The system pasteboard has changed');
1119
  };    
1120
 systemPasteboard.off('update', listener);
Z
zengyawen 已提交
1121 1122 1123 1124 1125 1126 1127 1128 1129
  ```


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

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

判断系统剪切板中是否有内容,并使用callback异步方式返回结果。

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

Z
zengyawen 已提交
1132
**参数**
Z
zengyawen 已提交
1133 1134 1135
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 返回为true表示系统剪切板中有内容,返回false表示系统剪切板中没有内容。 |
Z
zengyawen 已提交
1136

Z
zengyawen 已提交
1137 1138
**示例**

1139
  ```js
Z
zengyawen 已提交
1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155
  systemPasteboard.hasPasteData((err, data) => {
      if (err) {
          console.error('failed to hasPasteData because ' + JSON.stringify(err));
          return;
      }
      console.info('success hasPasteData : ' + JSON.stringify(data));
  });
  ```


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

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

判断系统剪切板中是否有内容,并使用Promise异步方式返回结果。

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

Z
zengyawen 已提交
1158
**返回值**
Z
zengyawen 已提交
1159 1160 1161
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;boolean&gt; | 返回为true表示系统剪切板中有内容,返回false表示系统剪切板中没有内容。 |
Z
zengyawen 已提交
1162

Z
zengyawen 已提交
1163 1164
**示例**

1165
  ```js
Z
zengyawen 已提交
1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179
  systemPasteboard.hasPasteData().then((data) => { 
      console.info('success hasPasteData : ' + JSON.stringify(data));
  }).catch((error) => {
      console.error('failed to hasPasteData because ' + JSON.stringify(error));
  });
  ```


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

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

清空系统剪切板内容,并使用callback异步方式返回结果。

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

Z
zengyawen 已提交
1182
**参数**
Z
zengyawen 已提交
1183 1184 1185
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数,表示是否成功清空系统剪切板内容。 |
Z
zengyawen 已提交
1186

Z
zengyawen 已提交
1187 1188
**示例**

1189
  ```js
Z
zengyawen 已提交
1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205
  systemPasteboard.clear((err, data) => { 
      if (err) {        
          console.error('failed to clear because ' + JSON.stringify(err));        
          return;    
      }
      console.info('success clear');
  });
  ```


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

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

清空系统剪切板内容,并使用Promise异步方式返回结果。

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

Z
zengyawen 已提交
1208
**返回值**
Z
zengyawen 已提交
1209

Z
zengyawen 已提交
1210 1211 1212
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 异步回调函数,表示是否成功清空系统剪切板内容。 |
Z
zengyawen 已提交
1213

Z
zengyawen 已提交
1214 1215
**示例**

1216
  ```js
Z
zengyawen 已提交
1217 1218 1219 1220 1221 1222
  systemPasteboard.clear().then((data) => { 
      console.info('success clear');
  }).catch((error) => {    
      console.error('failed to clear because ' + JSON.stringify(error));
  });
  ```