• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 剪贴板
2
3本模块主要提供管理系统剪贴板的能力,为系统复制、粘贴功能提供支持。系统剪贴板支持对文本、HTML、URI、Want等内容的操作。
4
5> **说明:**
6>
7> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
9## 导入模块
10
11```js
12import pasteboard from '@ohos.pasteboard';
13```
14
15## 属性
16
17**系统能力:** SystemCapability.MiscServices.Pasteboard
18
19| 名称                             | 参数类型 | 可读 | 可写 | 说明                                  |
20| -------------------------------- | -------- | ---- | ---- | ------------------------------------- |
21| MAX_RECORD_NUM<sup>7+</sup>      | number   | 是   | 否   | 单个PasteData中所能包含的最大条目数。 |
22| MIMETYPE_TEXT_HTML<sup>7+</sup>  | string   | 是   | 否   | HTML内容的MIME类型定义。              |
23| MIMETYPE_TEXT_WANT<sup>7+</sup>  | string   | 是   | 否   | Want内容的MIME类型定义。              |
24| MIMETYPE_TEXT_PLAIN<sup>7+</sup> | string   | 是   | 否   | 纯文本内容的MIME类型定义。            |
25| MIMETYPE_TEXT_URI<sup>7+</sup>   | string   | 是   | 否   | URI内容的MIME类型定义。               |
26
27
28## pasteboard.createPlainTextData
29
30createPlainTextData(text:string): PasteData
31
32构建一个纯文本剪贴板内容对象。
33
34**系统能力:** SystemCapability.MiscServices.Pasteboard
35
36**参数:**
37
38| 参数名 | 类型   | 必填 | 说明         |
39| ------ | ------ | ---- | ------------ |
40| text   | string | 是   | 纯文本内容。 |
41
42**返回值:**
43
44| 类型                    | 说明             |
45| ----------------------- | ---------------- |
46| [PasteData](#pastedata) | 剪贴板内容对象。 |
47
48**示例:**
49
50```js
51var pasteData = pasteboard.createPlainTextData("content");
52```
53
54
55## pasteboard.createHtmlData<sup>7+</sup>
56
57createHtmlData(htmlText:string): PasteData
58
59构建一个HTML剪贴板内容对象。
60
61**系统能力:** SystemCapability.MiscServices.Pasteboard
62
63**参数:**
64
65| 参数名   | 类型   | 必填 | 说明       |
66| -------- | ------ | ---- | ---------- |
67| htmlText | string | 是   | HTML内容。 |
68
69**返回值:**
70
71| 类型                    | 说明             |
72| ----------------------- | ---------------- |
73| [PasteData](#pastedata) | 剪贴板内容对象。 |
74
75**示例:**
76
77```js
78var 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>";
79var pasteData = pasteboard.createHtmlData(html);
80```
81
82
83## pasteboard.createWantData<sup>7+</sup>
84
85createWantData(want:Want): PasteData
86
87构建一个Want剪贴板内容对象。
88
89**系统能力:** SystemCapability.MiscServices.Pasteboard
90
91**参数:**
92
93| 参数名 | 类型                                | 必填 | 说明       |
94| ------ | ----------------------------------- | ---- | ---------- |
95| want   | [Want](js-apis-featureAbility.md#want) | 是   | Want内容。 |
96
97**返回值:**
98
99| 类型                    | 说明             |
100| ----------------------- | ---------------- |
101| [PasteData](#pastedata) | 剪贴板内容对象。 |
102
103**示例:**
104
105```js
106var object = {
107    bundleName: "com.example.aafwk.test",
108    abilityName: "com.example.aafwk.test.TwoAbility"
109};
110var pasteData = pasteboard.createWantData(object);
111```
112
113
114## pasteboard.createUriData<sup>7+</sup>
115
116createUriData(uri:string): PasteData
117
118构建一个URI剪贴板内容对象。
119
120**系统能力:** SystemCapability.MiscServices.Pasteboard
121
122**参数:**
123
124| 参数名 | 类型   | 必填 | 说明      |
125| ------ | ------ | ---- | --------- |
126| uri    | string | 是   | URI内容。 |
127
128**返回值:**
129
130| 类型                    | 说明             |
131| ----------------------- | ---------------- |
132| [PasteData](#pastedata) | 剪贴板内容对象。 |
133
134**示例:**
135
136```js
137var pasteData = pasteboard.createUriData("dataability:///com.example.myapplication1/user.txt");
138```
139
140## pasteboard.createPlainTextRecord<sup>7+</sup>
141
142createPlainTextRecord(text:string): PasteDataRecord
143
144创建一条纯文本内容条目。
145
146**系统能力:** SystemCapability.MiscServices.Pasteboard
147
148**参数:**
149
150| 参数名 | 类型   | 必填 | 说明         |
151| ------ | ------ | ---- | ------------ |
152| text   | string | 是   | 纯文本内容。 |
153
154**返回值:**
155
156| 类型                                 | 说明                       |
157| ------------------------------------ | -------------------------- |
158| [PasteDataRecord](#pastedatarecord7) | 一条新建的纯文本内容条目。 |
159
160**示例:**
161
162```js
163var record = pasteboard.createPlainTextRecord("hello");
164```
165
166
167## pasteboard.createHtmlTextRecord<sup>7+</sup>
168
169createHtmlTextRecord(htmlText:string): PasteDataRecord
170
171创建一条HTML内容的条目。
172
173**系统能力:** SystemCapability.MiscServices.Pasteboard
174
175**参数:**
176
177| 参数名   | 类型   | 必填 | 说明       |
178| -------- | ------ | ---- | ---------- |
179| htmlText | string | 是   | HTML内容。 |
180
181**返回值:**
182
183| 类型                                 | 说明                     |
184| ------------------------------------ | ------------------------ |
185| [PasteDataRecord](#pastedatarecord7) | 一条新建的HTML内容条目。 |
186
187**示例:**
188
189```js
190var 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>";
191var record = pasteboard.createHtmlTextRecord(html);
192```
193
194
195## pasteboard.createWantRecord<sup>7+</sup>
196
197createWantRecord(want:Want): PasteDataRecord
198
199创建一条Want内容条目。
200
201**系统能力:** SystemCapability.MiscServices.Pasteboard
202
203**参数:**
204
205| 参数名 | 类型                                | 必填 | 说明       |
206| ------ | ----------------------------------- | ---- | ---------- |
207| want   | [Want](js-apis-featureAbility.md#want) | 是   | Want内容。 |
208
209**返回值:**
210
211| 类型                                 | 说明                     |
212| ------------------------------------ | ------------------------ |
213| [PasteDataRecord](#pastedatarecord7) | 一条新建的Want内容条目。 |
214
215**示例:**
216
217```js
218var object = {
219    bundleName: "com.example.aafwk.test",
220    abilityName: "com.example.aafwk.test.TwoAbility"
221};
222var record = pasteboard.createWantRecord(object);
223```
224
225## pasteboard.createUriRecord<sup>7+</sup>
226
227createUriRecord(uri:string): PasteDataRecord
228
229创建一条URI内容的条目。
230
231**系统能力:** SystemCapability.MiscServices.Pasteboard
232
233**参数:**
234
235| 参数名 | 类型   | 必填 | 说明      |
236| ------ | ------ | ---- | --------- |
237| uri    | string | 是   | URI内容。 |
238
239**返回值:**
240
241| 类型                                 | 说明                    |
242| ------------------------------------ | ----------------------- |
243| [PasteDataRecord](#pastedatarecord7) | 一条新建的URI内容条目。 |
244
245**示例:**
246
247```js
248var record = pasteboard.createUriRecord("dataability:///com.example.myapplication1/user.txt");
249```
250
251## pasteboard.getSystemPasteboard
252
253getSystemPasteboard(): SystemPasteboard
254
255获取系统剪贴板对象。
256
257**系统能力:** SystemCapability.MiscServices.Pasteboard
258
259**返回值:**
260
261| 类型                                  | 说明             |
262| ------------------------------------- | ---------------- |
263| [SystemPasteboard](#systempasteboard) | 系统剪切板对象。 |
264
265**示例:**
266
267```js
268var systemPasteboard = pasteboard.getSystemPasteboard();
269```
270
271
272## PasteDataProperty<sup>7+</sup>
273
274定义了剪贴板中所有内容条目的属性,包含时间戳、数据类型以及一些附加数据等。
275
276**系统能力:** SystemCapability.MiscServices.Pasteboard
277
278| 名称      | 参数类型              | 可读 | 可写 | 说明                                                         |
279| --------- | --------------------- | ---- | ---- | ------------------------------------------------------------ |
280| additions | {[key:string]:object} | 是   | 是   | 设置的其他附加属性数据。                                     |
281| mimeTypes | Array&lt;string&gt;   | 是   | 否   | 剪贴板内容条目的数据类型,非重复的类型列表。                 |
282| tag       | string                | 是   | 是   | 用户自定义标签。                                             |
283| timestamp | number                | 是   | 否   | 剪贴板数据的写入时间戳(单位:ms)。                         |
284| localOnly | boolean               | 是   | 是   | 配置剪贴板内容是否为“仅在本地”。默认值为true。<br/>- 配置为true时,表示内容仅在本地,不会在设备之间传递。<br/>- 配置为false时,表示内容将在设备间传递。 |
285
286
287## PasteDataRecord<sup>7+</sup>
288
289对于剪贴板中内容记录的抽象定义,称之为条目。剪贴板内容部分由一个或者多个条目构成,例如一条文本内容、一份HTML、一个URI或者一个Want。
290
291
292### 属性
293
294**系统能力:** SystemCapability.MiscServices.Pasteboard
295
296| 名称                   | 参数类型                            | 可读 | 可写 | 说明         |
297| ---------------------- | ----------------------------------- | ---- | ---- | ------------ |
298| htmlText<sup>7+</sup>  | string                              | 是   | 否   | HTML内容。   |
299| want<sup>7+</sup>      | [Want](js-apis-featureAbility.md#want) | 是   | 否   | Want内容。   |
300| mimeType<sup>7+</sup>  | string                              | 是   | 否   | 数据类型。   |
301| plainText<sup>7+</sup> | string                              | 是   | 否   | 纯文本内容。 |
302| uri<sup>7+</sup>       | string                              | 是   | 否   | URI内容。    |
303
304
305### convertToText<sup>7+</sup>
306
307convertToText(): Promise&lt;string&gt;
308
309将一个PasteData中的内容强制转换为文本内容,使用Promise异步回调。
310
311**系统能力:** SystemCapability.MiscServices.Pasteboard
312
313**返回值:**
314
315| 类型                  | 说明                                  |
316| --------------------- | ------------------------------------- |
317| Promise&lt;string&gt; | Promise对象,返回强制转换的文本内容。 |
318
319**示例:**
320
321```js
322var record = pasteboard.createUriRecord("dataability:///com.example.myapplication1/user.txt");
323record.convertToText().then((data) => {
324    console.info('Succeeded in converting to text. Data: ' + JSON.stringify(data));
325}).catch((err) => {
326    console.error('Failed to convert to text. Cause: ' + JSON.stringify(err));
327});
328```
329
330
331### convertToText<sup>7+</sup>
332
333convertToText(callback: AsyncCallback&lt;string&gt;): void
334
335将一个PasteData中的内容强制转换为文本内容,使用callback异步回调。
336
337**系统能力:** SystemCapability.MiscServices.Pasteboard
338
339**参数:**
340
341| 参数名   | 类型                        | 必填 | 说明                                                         |
342| -------- | --------------------------- | ---- | ------------------------------------------------------------ |
343| callback | AsyncCallback&lt;string&gt; | 是   | 回调函数,当转换成功,err为undefined,data为强制转换的文本内容;否则返回错误信息。 |
344
345**示例:**
346
347```js
348var record = pasteboard.createUriRecord("dataability:///com.example.myapplication1/user.txt");
349record.convertToText((err, data) => {
350    if (err) {
351        console.error('Failed to convert to text. Cause: ' + JSON.stringify(err));
352        return;
353      }
354    console.info('Succeeded in converting to text. Data: ' + JSON.stringify(data));
355});
356```
357
358
359## PasteData
360
361剪贴板内容对象。
362
363在调用PasteData的接口前,需要先获取一个PasteData对象。
364
365**系统能力:** SystemCapability.MiscServices.Pasteboard
366
367
368### getPrimaryText
369
370
371getPrimaryText(): string
372
373
374获取首个条目的纯文本内容。
375
376**系统能力:** SystemCapability.MiscServices.Pasteboard
377
378
379**返回值:**
380
381| 类型   | 说明         |
382| ------ | ------------ |
383| string | 纯文本内容。 |
384
385**示例:**
386
387```js
388var pasteData = pasteboard.createPlainTextData("hello");
389var plainText = pasteData.getPrimaryText();
390```
391
392
393### getPrimaryHtml<sup>7+</sup>
394
395getPrimaryHtml(): string
396
397获取首个条目的HTML内容。
398
399**系统能力:** SystemCapability.MiscServices.Pasteboard
400
401**返回值:**
402
403| 类型   | 说明       |
404| ------ | ---------- |
405| string | HTML内容。 |
406
407**示例:**
408
409```js
410var 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>";
411var pasteData = pasteboard.createHtmlData(html);
412var htmlText = pasteData.getPrimaryHtml();
413```
414
415
416### getPrimaryWant<sup>7+</sup>
417
418getPrimaryWant(): Want
419
420获取首个条目的Want对象内容。
421
422**系统能力:** SystemCapability.MiscServices.Pasteboard
423
424**返回值:**
425
426| 类型                                | 说明           |
427| ----------------------------------- | -------------- |
428| [Want](js-apis-featureAbility.md#want) | Want对象内容。 |
429
430**示例:**
431
432```js
433var object = {
434    bundleName: "com.example.aafwk.test",
435    abilityName: "com.example.aafwk.test.TwoAbility"
436};
437var pasteData = pasteboard.createWantData(object);
438var want = pasteData.getPrimaryWant();
439```
440
441
442### getPrimaryUri<sup>7+</sup>
443
444getPrimaryUri(): string
445
446获取首个条目的URI内容。
447
448**系统能力:** SystemCapability.MiscServices.Pasteboard
449
450**返回值:**
451
452| 类型   | 说明      |
453| ------ | --------- |
454| string | URI内容。 |
455
456**示例:**
457
458```js
459var pasteData = pasteboard.createUriData("dataability:///com.example.myapplication1/user.txt");
460var uri = pasteData.getPrimaryUri();
461```
462
463
464### addTextRecord<sup>7+</sup>
465
466addTextRecord(text: string): void
467
468向当前剪贴板内容中添加一条纯文本条目,并将MIME_TEXT_PLAIN添加到[PasteDataProperty](#pastedataproperty7)的mimeTypes中。入参均不能为空,否则添加失败。
469
470剪贴板内容中添加的条目达到数量上限128后,后续的添加操作无效。
471
472**系统能力:** SystemCapability.MiscServices.Pasteboard
473
474**参数:**
475
476| 参数名 | 类型   | 必填 | 说明         |
477| ------ | ------ | ---- | ------------ |
478| text   | string | 是   | 纯文本内容。 |
479
480**示例:**
481
482```js
483var pasteData = pasteboard.createPlainTextData("hello");
484pasteData.addTextRecord("good");
485```
486
487
488### addHtmlRecord<sup>7+</sup>
489
490addHtmlRecord(htmlText: string): void
491
492向当前剪贴板内容中添加一条HTML内容条目,并将MIMETYPE_TEXT_HTML添加到[PasteDataProperty](#pastedataproperty7)的mimeTypes中。入参均不能为空,否则添加失败。
493
494剪贴板内容中添加的条目达到数量上限128后,后续的添加操作无效。
495
496**系统能力:** SystemCapability.MiscServices.Pasteboard
497
498**参数:**
499
500| 参数名   | 类型   | 必填 | 说明       |
501| -------- | ------ | ---- | ---------- |
502| htmlText | string | 是   | HTML内容。 |
503
504**示例:**
505
506```js
507var pasteData = pasteboard.createPlainTextData("hello");
508var 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>";
509pasteData.addHtmlRecord(html);
510```
511
512
513### addWantRecord<sup>7+</sup>
514
515addWantRecord(want: Want): void
516
517向当前剪贴板内容中添加一条Want条目,并将MIMETYPE_TEXT_WANT添加到[PasteDataProperty](#pastedataproperty7)的mimeTypes中。入参均不能为空,否则添加失败。
518
519剪贴板内容中添加的条目达到数量上限128后,后续的添加操作无效。
520
521**系统能力:** SystemCapability.MiscServices.Pasteboard
522
523**参数:**
524
525| 参数名 | 类型                                | 必填 | 说明           |
526| ------ | ----------------------------------- | ---- | -------------- |
527| want   | [Want](js-apis-featureAbility.md#want) | 是   | Want对象内容。 |
528
529**示例:**
530
531```js
532var pasteData = pasteboard.createPlainTextData("hello");
533var object = {
534    bundleName: "com.example.aafwk.test",
535    abilityName: "com.example.aafwk.test.TwoAbility"
536};
537pasteData.addWantRecord(object);
538```
539
540
541### addUriRecord<sup>7+</sup>
542
543addUriRecord(uri: string): void
544
545向当前剪贴板内容中添加一条URI条目,并将MIMETYPE_TEXT_URI添加到[PasteDataProperty](#pastedataproperty7)的mimeTypes中。入参均不能为空,否则添加失败。
546
547剪贴板内容中添加的条目达到数量上限128后,后续的添加操作无效。
548
549**系统能力:** SystemCapability.MiscServices.Pasteboard
550
551**参数:**
552
553| 参数名 | 类型   | 必填 | 说明      |
554| ------ | ------ | ---- | --------- |
555| uri    | string | 是   | URI内容。 |
556
557**示例:**
558
559```js
560var pasteData = pasteboard.createPlainTextData("hello");
561pasteData.addUriRecord("dataability:///com.example.myapplication1/user.txt");
562```
563
564
565### addRecord<sup>7+</sup>
566
567addRecord(record: PasteDataRecord): void
568
569向当前剪贴板内容中添加一条条目,同时也会将条目类型添加到[PasteDataProperty](#pastedataproperty7)的mimeTypes中。入参均不能为空,否则添加失败。
570
571剪贴板内容中添加的条目达到数量上限128后,后续的添加操作无效。
572
573**系统能力:** SystemCapability.MiscServices.Pasteboard
574
575**参数:**
576
577| 参数名 | 类型                                 | 必填 | 说明           |
578| ------ | ------------------------------------ | ---- | -------------- |
579| record | [PasteDataRecord](#pastedatarecord7) | 是   | 待添加的条目。 |
580
581**示例:**
582
583```js
584var pasteData = pasteboard.createUriData("dataability:///com.example.myapplication1/user.txt");
585var textRecord = pasteboard.createPlainTextRecord("hello");
586var 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>";
587var htmlRecord = pasteboard.createHtmlTextRecord(html);
588pasteData.addRecord(textRecord);
589pasteData.addRecord(htmlRecord);
590```
591
592### getMimeTypes<sup>7+</sup>
593
594getMimeTypes(): Array&lt;string&gt;
595
596获取剪贴板中[PasteDataProperty](#pastedataproperty7)的mimeTypes列表,当剪贴板内容为空时,返回列表为空。
597
598**系统能力:** SystemCapability.MiscServices.Pasteboard
599
600**返回值:**
601
602| 类型                | 说明                                         |
603| ------------------- | -------------------------------------------- |
604| Array&lt;string&gt; | 剪贴板内容条目的数据类型,非重复的类型列表。 |
605
606**示例:**
607
608```js
609var pasteData = pasteboard.createPlainTextData("hello");
610var types = pasteData.getMimeTypes();
611```
612
613### getPrimaryMimeType<sup>7+</sup>
614
615getPrimaryMimeType(): string
616
617获取剪贴板内容中首个条目的数据类型。
618
619**系统能力:** SystemCapability.MiscServices.Pasteboard
620
621**返回值:**
622
623| 类型   | 说明                 |
624| ------ | -------------------- |
625| string | 首个条目的数据类型。 |
626
627**示例:**
628
629```js
630var pasteData = pasteboard.createPlainTextData("hello");
631var type = pasteData.getPrimaryMimeType();
632```
633
634### getProperty<sup>7+</sup>
635
636getProperty(): PasteDataProperty
637
638获取剪贴板内容的属性描述对象。
639
640**系统能力:** SystemCapability.MiscServices.Pasteboard
641
642**返回值:**
643
644| 类型                                     | 说明           |
645| ---------------------------------------- | -------------- |
646| [PasteDataProperty](#pastedataproperty7) | 属性描述对象。 |
647
648**示例:**
649
650```js
651var pasteData = pasteboard.createPlainTextData("hello");
652var property = pasteData.getProperty();
653```
654
655### getRecordAt<sup>7+</sup>
656
657getRecordAt(index: number): PasteDataRecord
658
659获取剪贴板内容中指定下标的条目。
660
661**系统能力:** SystemCapability.MiscServices.Pasteboard
662
663**参数:**
664
665| 参数名 | 类型   | 必填 | 说明             |
666| ------ | ------ | ---- | ---------------- |
667| index  | number | 是   | 指定条目的下标。 |
668
669**返回值:**
670
671| 类型                                 | 说明             |
672| ------------------------------------ | ---------------- |
673| [PasteDataRecord](#pastedatarecord7) | 指定下标的条目。 |
674
675**示例:**
676
677```js
678var pasteData = pasteboard.createPlainTextData("hello");
679var record = pasteData.getRecordAt(0);
680```
681
682
683### getRecordCount<sup>7+</sup>
684
685getRecordCount(): number
686
687获取剪贴板内容中条目的个数。
688
689**系统能力:** SystemCapability.MiscServices.Pasteboard
690
691**返回值:**
692
693| 类型   | 说明         |
694| ------ | ------------ |
695| number | 条目的个数。 |
696
697**示例:**
698
699```js
700var pasteData = pasteboard.createPlainTextData("hello");
701var count = pasteData.getRecordCount();
702```
703
704
705### getTag<sup>7+</sup>
706
707getTag(): string
708
709获取剪贴板内容中用户自定义的标签内容,如果没有设置用户自定义的标签内容将返回空。
710
711**系统能力:** SystemCapability.MiscServices.Pasteboard
712
713**返回值:**
714
715| 类型   | 说明                                                         |
716| ------ | ------------------------------------------------------------ |
717| string | 返回用户自定义的标签内容,如果没有设置用户自定义的标签内容,将返回空。 |
718
719**示例:**
720
721```js
722var pasteData = pasteboard.createPlainTextData("hello");
723var tag = pasteData.getTag();
724```
725
726
727### hasMimeType<sup>7+</sup>
728
729hasMimeType(mimeType: string): boolean
730
731检查剪贴板内容中是否有指定的数据类型。
732
733**系统能力:** SystemCapability.MiscServices.Pasteboard
734
735**参数:**
736
737| 参数名   | 类型   | 必填 | 说明               |
738| -------- | ------ | ---- | ------------------ |
739| mimeType | string | 是   | 待查询的数据类型。 |
740
741**返回值:**
742
743| 类型    | 说明                                      |
744| ------- | ----------------------------------------- |
745| boolean | 有指定的数据类型返回true,否则返回false。 |
746
747**示例:**
748
749```js
750var pasteData = pasteboard.createPlainTextData("hello");
751var hasType = pasteData.hasMimeType(pasteboard.MIMETYPE_TEXT_PLAIN);
752```
753
754
755### removeRecordAt<sup>7+</sup>
756
757removeRecordAt(index: number): boolean
758
759移除剪贴板内容中指定下标的条目。
760
761**系统能力:** SystemCapability.MiscServices.Pasteboard
762
763**参数:**
764
765| 参数名 | 类型   | 必填 | 说明         |
766| ------ | ------ | ---- | ------------ |
767| index  | number | 是   | 指定的下标。 |
768
769**返回值:**
770
771| 类型    | 说明                              |
772| ------- | --------------------------------- |
773| boolean | 成功移除返回true,失败返回false。 |
774
775**示例:**
776
777```js
778var pasteData = pasteboard.createPlainTextData("hello");
779var isRemove = pasteData.removeRecordAt(0);
780```
781
782
783### replaceRecordAt<sup>7+</sup>
784
785replaceRecordAt(index: number, record: PasteDataRecord): boolean
786
787替换剪贴板内容中指定下标的条目。
788
789**系统能力:** SystemCapability.MiscServices.Pasteboard
790
791**参数:**
792
793| 参数名 | 类型                                 | 必填 | 说明           |
794| ------ | ------------------------------------ | ---- | -------------- |
795| index  | number                               | 是   | 指定的下标。   |
796| record | [PasteDataRecord](#pastedatarecord7) | 是   | 替换后的条目。 |
797
798**返回值:**
799
800| 类型    | 说明                              |
801| ------- | --------------------------------- |
802| boolean | 成功替换返回true,失败返回false。 |
803
804**示例:**
805
806```js
807var pasteData = pasteboard.createPlainTextData("hello");
808var record = pasteboard.createUriRecord("dataability:///com.example.myapplication1/user.txt");
809var isReplace = pasteData.replaceRecordAt(0, record);
810```
811
812## SystemPasteboard
813
814系统剪贴板对象。
815
816在调用SystemPasteboard的接口前,需要先通过[getSystemPasteboard](#pasteboardgetsystempasteboard)获取系统剪贴板。
817
818```js
819var systemPasteboard = pasteboard.getSystemPasteboard();
820```
821
822
823### setPasteData
824
825setPasteData(data:PasteData, callback:AsyncCallback&lt;void&gt;): void
826
827将数据写入系统剪贴板,使用callback异步回调。
828
829**系统能力:** SystemCapability.MiscServices.Pasteboard
830
831**参数:**
832
833| 参数名   | 类型                    | 必填 | 说明                                                   |
834| -------- | ----------------------- | ---- | ------------------------------------------------------ |
835| data     | [PasteData](#pastedata) | 是   | PasteData对象。                                        |
836| callback | AsyncCallback&lt;void>  | 是   | 回调函数。当写入成功,err为undefined,否则为错误对象。 |
837
838**示例:**
839
840```js
841var pasteData = pasteboard.createPlainTextData("content");
842var systemPasteboard = pasteboard.getSystemPasteboard();
843systemPasteboard.setPasteData(pasteData, (err, data) => {
844    if (err) {
845        console.error('Failed to set PasteData. Cause: ' + err.message);
846        return;
847    }
848    console.info('Succeeded in setting PasteData.');
849});
850```
851
852
853### setPasteData
854
855setPasteData(data:PasteData): Promise&lt;void&gt;
856
857将数据写入系统剪贴板,使用Promise异步回调。
858
859**系统能力:** SystemCapability.MiscServices.Pasteboard
860
861**参数:**
862
863| 参数名 | 类型                    | 说明            |
864| ------ | ----------------------- | --------------- |
865| data   | [PasteData](#pastedata) | PasteData对象。 |
866
867**返回值:**
868
869| 类型                | 说明                      |
870| ------------------- | ------------------------- |
871| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
872
873**示例:**
874
875```js
876var pasteData = pasteboard.createPlainTextData("content");
877var systemPasteboard = pasteboard.getSystemPasteboard();
878systemPasteboard.setPasteData(pasteData).then((data) => {
879    console.info('Succeeded in setting PasteData.');
880}).catch((err) => {
881    console.error('Failed to set PasteData. Cause: ' + err.message);
882});
883```
884
885
886### getPasteData
887
888getPasteData( callback:AsyncCallback&lt;PasteData&gt;): void
889
890读取系统剪贴板内容,使用callback异步回调。
891
892**系统能力:** SystemCapability.MiscServices.Pasteboard
893
894**参数:**
895
896| 参数名   | 类型                                         | 必填 | 说明                                                         |
897| -------- | -------------------------------------------- | ---- | ------------------------------------------------------------ |
898| callback | AsyncCallback&lt;[PasteData](#pastedata)&gt; | 是   | 回调函数。当读取成功,err为undefined,data为返回的系统剪贴板数据;否则返回错误对象。 |
899
900**示例:**
901
902```js
903var systemPasteboard = pasteboard.getSystemPasteboard();
904systemPasteboard.getPasteData((err, pasteData) => {
905    if (err) {
906        console.error('Failed to get PasteData. Cause: ' + err.message);
907        return;
908    }
909    var text = pasteData.getPrimaryText();
910});
911```
912
913
914### getPasteData
915
916getPasteData(): Promise&lt;PasteData&gt;
917
918读取系统剪贴板内容,使用Promise异步回调。
919
920**系统能力:** SystemCapability.MiscServices.Pasteboard
921
922**返回值:**
923
924| 类型                                   | 说明                              |
925| -------------------------------------- | --------------------------------- |
926| Promise&lt;[PasteData](#pastedata)&gt; | Promise对象,返回系统剪贴板数据。 |
927
928**示例:**
929
930```js
931var systemPasteboard = pasteboard.getSystemPasteboard();
932systemPasteboard.getPasteData().then((pasteData) => {
933    var text = pasteData.getPrimaryText();
934}).catch((err) => {
935    console.error('Failed to get PasteData. Cause: ' + err.message);
936})
937```
938
939
940### on('update')<sup>7+</sup>
941
942on(type:  'update', callback: () =&gt;void ): void
943
944订阅系统剪贴板内容变化事件,当系统剪贴板中内容变化时触发用户程序的回调。
945
946**系统能力:** SystemCapability.MiscServices.Pasteboard
947
948**参数:**
949
950| 参数名   | 类型     | 必填 | 说明                                         |
951| -------- | -------- | ---- | -------------------------------------------- |
952| type     | string   | 是   | 取值为'update',表示系统剪贴板内容变化事件。 |
953| callback | function | 是   | 剪贴板中内容变化时触发的用户程序的回调。     |
954
955**示例:**
956
957```js
958var systemPasteboard = pasteboard.getSystemPasteboard();
959var listener = () => {
960    console.info('The system pasteboard has changed.');
961};
962systemPasteboard.on('update', listener);
963```
964
965
966### off('update')<sup>7+</sup>
967
968off(type:  'update', callback?: () =&gt;void ): void
969
970取消订阅系统剪贴板内容变化事件。
971
972**系统能力:** SystemCapability.MiscServices.Pasteboard
973
974**参数:**
975
976| 参数名   | 类型     | 必填 | 说明                                         |
977| -------- | -------- | ---- | -------------------------------------------- |
978| type     | string   | 是   | 取值为'update',表示系统剪贴板内容变化事件。 |
979| callback | function | 否   | 剪贴板中内容变化时触发的用户程序的回调。     |
980
981**示例:**
982
983```js
984let listener = () => {
985    console.info('The system pasteboard has changed.');
986};
987systemPasteboard.off('update', listener);
988```
989
990
991### hasPasteData<sup>7+</sup>
992
993hasPasteData(callback:  AsyncCallback&lt;boolean&gt;): void
994
995判断系统剪贴板中是否有内容,使用callback异步回调。
996
997**系统能力:** SystemCapability.MiscServices.Pasteboard
998
999**参数:**
1000
1001| 参数名   | 类型                         | 必填 | 说明                                                         |
1002| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
1003| callback | AsyncCallback&lt;boolean&gt; | 是   | 返回true表示系统剪贴板中有内容,返回false表示系统剪贴板中没有内容。 |
1004
1005**示例:**
1006
1007```js
1008systemPasteboard.hasPasteData((err, data) => {
1009    if (err) {
1010        console.error('Failed to check the PasteData. Cause: ' + JSON.stringify(err));
1011        return;
1012    }
1013    console.info('Succeeded in checking the PasteData. Data: ' + JSON.stringify(data));
1014});
1015```
1016
1017
1018### hasPasteData<sup>7+</sup>
1019
1020hasPasteData():  Promise&lt;boolean&gt;
1021
1022判断系统剪贴板中是否有内容,使用Promise异步回调。
1023
1024**系统能力:** SystemCapability.MiscServices.Pasteboard
1025
1026**返回值:**
1027
1028| 类型                   | 说明                                                         |
1029| ---------------------- | ------------------------------------------------------------ |
1030| Promise&lt;boolean&gt; | 返回true表示系统剪贴板中有内容,返回false表示系统剪贴板中没有内容。 |
1031
1032**示例:**
1033
1034```js
1035systemPasteboard.hasPasteData().then((data) => {
1036    console.info('Succeeded in checking the PasteData. Data: ' + JSON.stringify(data));
1037}).catch((err) => {
1038    console.error('Failed to check the PasteData. Cause: ' + JSON.stringify(err));
1039});
1040```
1041
1042
1043### clear<sup>7+</sup>
1044
1045clear(callback:  AsyncCallback&lt;void&gt;): void
1046
1047清空系统剪贴板内容,使用callback异步回调。
1048
1049**系统能力:** SystemCapability.MiscServices.Pasteboard
1050
1051**参数:**
1052
1053| 参数名   | 类型                      | 必填 | 说明                                                     |
1054| -------- | ------------------------- | ---- | -------------------------------------------------------- |
1055| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。当成功清空时,err为undefined;否则为错误对象。 |
1056
1057**示例:**
1058
1059```js
1060systemPasteboard.clear((err, data) => {
1061    if (err) {
1062        console.error('Failed to clear the PasteData. Cause: ' + JSON.stringify(err));
1063        return;
1064    }
1065    console.info('Succeeded in clearing the PasteData.');
1066});
1067```
1068
1069
1070### clear<sup>7+</sup>
1071
1072clear():  Promise&lt;void&gt;
1073
1074清空系统剪贴板内容,使用Promise异步回调。
1075
1076**系统能力:** SystemCapability.MiscServices.Pasteboard
1077
1078**返回值:**
1079
1080| 类型                | 说明                      |
1081| ------------------- | ------------------------- |
1082| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1083
1084**示例:**
1085
1086```js
1087systemPasteboard.clear().then((data) => {
1088    console.info('Succeeded in clearing the PasteData.');
1089}).catch((err) => {
1090    console.error('Failed to clear the PasteData. Cause: ' + JSON.stringify(err));
1091});
1092```