• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.connectedTag (有源标签)
2
3本模块提供有源标签的使用,包括初始化有源标签芯片、读取有源标签内容、写入内容到有源标签等。
4
5> **说明:**
6>
7> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
9## 导入模块
10
11```js
12import { connectedTag } from '@kit.ConnectivityKit';
13```
14
15## connectedTag.init<sup>(deprecated)</sup>
16
17init(): boolean
18
19初始化有源标签芯片。
20
21> **说明:**
22>
23> 从API version 8开始支持,从API version 9开始废弃,建议使用[initialize](#connectedtaginitialize9)替代。
24
25**需要权限**:ohos.permission.NFC_TAG
26
27**系统能力**:SystemCapability.Communication.ConnectedTag
28
29**返回值:**
30
31| **类型** | **说明** |
32| -------- | -------- |
33| boolean | true:初始化成功。&nbsp;<br>false:初始化失败。 |
34
35## connectedTag.initialize<sup>9+</sup>
36
37initialize(): void
38
39初始化有源标签芯片。
40
41**需要权限:** ohos.permission.NFC_TAG
42
43**系统能力:** SystemCapability.Communication.ConnectedTag
44
45**错误码:**
46
47以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[NFC错误码](errorcode-nfc.md)。
48
49| 错误码ID | 错误信息|
50| -------- | -------- |
51|201 | Permission denied.                 |
52|801 | Capability not supported.          |
53|3200101 | Connected NFC tag running state is abnormal in service. |
54
55## connectedTag.uninit<sup>(deprecated)</sup>
56
57uninit(): boolean
58
59卸载有源标签芯片资源。
60
61> **说明:**
62>
63> 从API version 8开始支持,从API version 9开始废弃,建议使用[uninitialize](#connectedtaguninitialize9)替代。
64
65**需要权限**:ohos.permission.NFC_TAG
66
67**系统能力**:SystemCapability.Communication.ConnectedTag
68
69**返回值:**
70
71| **类型** | **说明** |
72| -------- | -------- |
73| boolean | true:卸载操作成功。&nbsp;<br>false:卸载操作失败。 |
74
75## connectedTag.uninitialize<sup>9+</sup>
76
77uninitialize(): void
78
79卸载有源标签芯片资源。
80
81**需要权限:** ohos.permission.NFC_TAG
82
83**系统能力:** SystemCapability.Communication.ConnectedTag
84
85**错误码:**
86
87以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[NFC错误码](errorcode-nfc.md)。
88
89| 错误码ID | 错误信息|
90| -------- | -------- |
91|201 | Permission denied.                 |
92|801 | Capability not supported.          |
93|3200101 | Connected NFC tag running state is abnormal in service. |
94
95## connectedTag.readNdefTag<sup>(deprecated)</sup>
96
97readNdefTag(): Promise&lt;string&gt;
98
99读取有源标签内容,使用promise方式作为异步方法。
100
101> **说明:**
102>
103> 从 API version 8 开始支持,从 API version 9 开始废弃,建议使用[connectedTag.read](#connectedtagread9)替代。
104
105**需要权限**:ohos.permission.NFC_TAG
106
107**系统能力**:SystemCapability.Communication.ConnectedTag
108
109**返回值:**
110
111| **类型** | **说明** |
112| -------- | -------- |
113| Promise&lt;string&gt; | 返回读取有源标签内容。 |
114
115**示例:**
116
117```js
118import { connectedTag } from '@kit.ConnectivityKit';
119import { BusinessError } from '@kit.BasicServicesKit';
120
121connectedTag.readNdefTag().then((data) => {
122    console.log("connectedTag readNdefTag Promise data = " + data);
123}).catch((err: BusinessError)=> {
124    console.error("connectedTag readNdefTag Promise err: " + err);
125});
126```
127
128## connectedTag.read<sup>9+</sup>
129
130read(): Promise&lt;number[]&gt;
131
132读取有源标签内容,使用promise方式作为异步方法。
133
134**需要权限:** ohos.permission.NFC_TAG
135
136**系统能力:** SystemCapability.Communication.ConnectedTag
137
138**返回值:**
139
140| **类型** | **说明** |
141| -------- | -------- |
142| Promise&lt;number[]&gt; | 返回读取有源标签内容。 |
143
144**错误码:**
145
146以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[NFC错误码](errorcode-nfc.md)。
147
148| 错误码ID | 错误信息|
149| -------- | -------- |
150|201 | Permission denied.                 |
151|801 | Capability not supported.          |
152|3200101 | Connected NFC tag running state is abnormal in service. |
153
154**示例:**
155
156```js
157import { connectedTag } from '@kit.ConnectivityKit';
158import { BusinessError } from '@kit.BasicServicesKit';
159
160connectedTag.read().then((data) => {
161    console.log("connectedTag read Promise data = " + data);
162}).catch((err: BusinessError)=> {
163    console.error("connectedTag read Promise err: " + err);
164});
165```
166
167## connectedTag.readNdefTag<sup>(deprecated)</sup>
168
169readNdefTag(callback: AsyncCallback&lt;string&gt;): void
170
171读取有源标签内容,使用AsyncCallback方式作为异步方法。
172
173> **说明:**
174>
175> 从 API version 8 开始支持,从 API version 9 开始废弃,建议使用[connectedTag.read](#connectedtagread9)替代。
176
177**需要权限**:ohos.permission.NFC_TAG
178
179**系统能力**:SystemCapability.Communication.ConnectedTag
180
181**参数:**
182
183| **参数名** | **类型** | **必填** | **说明** |
184| -------- | -------- | -------- | -------- |
185| callback | AsyncCallback&lt;string&gt; | 是 | 读取有源标签内容回调函数。 |
186
187**示例:**
188
189```js
190import { connectedTag } from '@kit.ConnectivityKit';
191
192connectedTag.readNdefTag((err, data)=> {
193    if (err) {
194        console.error("connectedTag readNdefTag AsyncCallback err: " + err);
195    } else {
196        console.log("connectedTag readNdefTag AsyncCallback data: " + data);
197    }
198});
199```
200
201## connectedTag.read<sup>9+</sup>
202
203read(callback: AsyncCallback&lt;number[]&gt;): void
204
205读取有源标签内容,使用AsyncCallback方式作为异步方法。
206
207**需要权限:** ohos.permission.NFC_TAG
208
209**系统能力:** SystemCapability.Communication.ConnectedTag
210
211**参数:**
212
213| **参数名** | **类型** | **必填** | **说明** |
214| -------- | -------- | -------- | -------- |
215| callback | AsyncCallback&lt;number[]&gt; | 是 | 读取有源标签内容回调函数。 |
216
217**错误码:**
218
219以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[NFC错误码](errorcode-nfc.md)。
220
221| 错误码ID | 错误信息|
222| -------- | -------- |
223|201 | Permission denied.                 |
224|801 | Capability not supported.          |
225|3200101 | Connected NFC tag running state is abnormal in service. |
226
227**示例:**
228
229```js
230import { connectedTag } from '@kit.ConnectivityKit';
231
232connectedTag.read((err, data)=> {
233    if (err) {
234        console.error("connectedTag read AsyncCallback err: " + err);
235    } else {
236        console.log("connectedTag read AsyncCallback data: " + data);
237    }
238});
239```
240
241## connectedTag.writeNdefTag<sup>(deprecated)</sup>
242
243writeNdefTag(data: string): Promise&lt;void&gt;
244
245写入内容到有源标签,使用promise方式作为异步方法。
246
247> **说明:**
248>
249> 从 API version 8 开始支持,从 API version 9 开始废弃,建议使用[connectedTag.write](#connectedtagwrite9)替代。
250
251**需要权限**:ohos.permission.NFC_TAG
252
253**系统能力**:SystemCapability.Communication.ConnectedTag
254
255**参数:**
256
257| **参数名** | **类型** | **必填** | **说明** |
258| -------- | -------- | -------- | -------- |
259| data | string | 是 | 有源标签内容, 最大长度为1024个字节。 |
260
261**返回值:**
262
263| **类型** | **说明** |
264| -------- | -------- |
265| Promise&lt;void&gt; | 无返回值。 |
266
267**示例:**
268
269```js
270import { connectedTag } from '@kit.ConnectivityKit';
271import { BusinessError } from '@kit.BasicServicesKit';
272
273let rawData = "010203"; // change it to be correct.
274connectedTag.writeNdefTag(rawData).then(() => {
275    console.log("connectedTag.writeNdefTag Promise success.");
276}).catch((err: BusinessError)=> {
277    console.error("connectedTag.writeNdefTag Promise err: " + err);
278});
279```
280
281## connectedTag.write<sup>9+</sup>
282
283write(data: number[]): Promise&lt;void&gt;
284
285写入内容到有源标签,使用promise方式作为异步方法。
286
287**需要权限:** ohos.permission.NFC_TAG
288
289**系统能力:** SystemCapability.Communication.ConnectedTag
290
291**参数:**
292
293| **参数名** | **类型** | **必填** | **说明** |
294| -------- | -------- | -------- | -------- |
295| data | number[] | 是 | 有源标签内容, 由十六进制数字组成。范围:0x00至0xFF。 |
296
297**返回值:**
298
299| **类型** | **说明** |
300| -------- | -------- |
301| Promise&lt;void&gt; | 无返回值。 |
302
303**错误码:**
304
305以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[NFC错误码](errorcode-nfc.md)。
306
307| 错误码ID | 错误信息|
308| -------- | -------- |
309|201 | Permission denied.                 |
310|401 | The parameter check failed. Possible causes: <br>1. Mandatory parameters are left unspecified.<br>2. Incorrect parameters types.<br>3. Parameter verification failed. |
311|801 | Capability not supported.          |
312|3200101 | Connected NFC tag running state is abnormal in service. |
313
314**示例:**
315
316```js
317import { connectedTag } from '@kit.ConnectivityKit';
318import { BusinessError } from '@kit.BasicServicesKit';
319
320let rawData = [0x01, 0x02, 0x03]; // change it to be correct.
321connectedTag.write(rawData).then(() => {
322    console.log("connectedTag.writeNdefTag Promise success.");
323}).catch((err: BusinessError)=> {
324    console.error("connectedTag.writeNdefTag Promise err: " + err);
325});
326```
327
328## connectedTag.writeNdefTag<sup>(deprecated)</sup>
329
330writeNdefTag(data: string, callback: AsyncCallback&lt;void&gt;): void
331
332写入内容到有源标签,使用AsyncCallback方式作为异步方法。
333
334> **说明:**
335>
336> 从 API version 8 开始支持,从 API version 9 开始废弃,建议使用[connectedTag.write](#connectedtagwrite9)替代。
337
338**需要权限**:ohos.permission.NFC_TAG
339
340**系统能力**:SystemCapability.Communication.ConnectedTag
341
342**参数:**
343
344| **参数名** | **类型** | **必填** | **说明** |
345| -------- | -------- | -------- | -------- |
346| data | string | 是 | 有源标签内容, 最大长度为1024个字节。 |
347| callback | AsyncCallback&lt;void&gt; | 是 | 读取有源标签内容回调函数。 |
348
349**示例:**
350
351```js
352import { connectedTag } from '@kit.ConnectivityKit';
353
354let rawData = "010203"; // change it to be correct.
355connectedTag.writeNdefTag(rawData, (err)=> {
356    if (err) {
357        console.error("connectedTag.writeNdefTag AsyncCallback err: " + err);
358    } else {
359        console.log("connectedTag.writeNdefTag AsyncCallback success.");
360    }
361});
362```
363
364## connectedTag.write<sup>9+</sup>
365
366write(data: number[], callback: AsyncCallback&lt;void&gt;): void
367
368写入内容到有源标签,使用AsyncCallback方式作为异步方法。
369
370**需要权限:** ohos.permission.NFC_TAG
371
372**系统能力:** SystemCapability.Communication.ConnectedTag
373
374**参数:**
375
376| **参数名** | **类型** | **必填** | **说明** |
377| -------- | -------- | -------- | -------- |
378| data | number[] | 是 | 有源标签内容, 由十六进制数字组成。范围:0x00至0xFF。 |
379| callback | AsyncCallback&lt;void&gt; | 是 | 读取有源标签内容回调函数。 |
380
381**错误码:**
382
383以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[NFC错误码](errorcode-nfc.md)。
384
385| 错误码ID | 错误信息|
386| -------- | -------- |
387|201 | Permission denied.                 |
388|401 | The parameter check failed. Possible causes: <br>1. Mandatory parameters are left unspecified.<br>2. Incorrect parameters types.<br>3. Parameter verification failed. |
389|801 | Capability not supported.          |
390|3200101 | Connected NFC tag running state is abnormal in service. |
391
392**示例:**
393
394```js
395import { connectedTag } from '@kit.ConnectivityKit';
396
397let rawData = [0x01, 0x02, 0x03]; // change it to be correct.
398connectedTag.write(rawData, (err)=> {
399    if (err) {
400        console.error("connectedTag.writeNdefTag AsyncCallback err: " + err);
401    } else {
402        console.log("connectedTag.writeNdefTag AsyncCallback success.");
403    }
404});
405```
406
407## connectedTag.on('notify')
408
409on(type: "notify", callback: Callback&lt;number&gt;): void
410
411注册NFC场强状态事件。
412
413**需要权限**:ohos.permission.NFC_TAG
414
415**系统能力**:SystemCapability.Communication.ConnectedTag
416
417**参数:**
418
419| **参数名** | **类型** | **必填** | **说明** |
420| -------- | -------- | -------- | -------- |
421| type | string | 是 | 固定填"notify"字符串。 |
422| callback | Callback&lt;number&gt; | 是 | 状态改变回调函数,返回值参见[NfcRfType](#nfcrftype)。 |
423
424## connectedTag.off('notify')
425
426off(type: "notify", callback?: Callback&lt;number&gt;): void
427
428取消NFC场强状态事件的注册。
429
430**需要权限**:ohos.permission.NFC_TAG
431
432**系统能力**:SystemCapability.Communication.ConnectedTag
433
434**参数:**
435
436| **参数名** | **类型** | **必填** | **说明** |
437| -------- | -------- | -------- | -------- |
438| type | string | 是 | 固定填"notify"字符串。 |
439| callback | Callback&lt;number&gt; | 否 | 状态改变回调函数。如果callback不填,将“去注册”该事件关联的所有回调函数。|
440
441**示例:**
442
443```js
444import { connectedTag } from '@kit.ConnectivityKit';
445
446async function nfcTagTest(): Promise<void> {
447  // Register event
448  connectedTag.on("notify", (rfState : number)=> {
449    console.log("connectedTag on Callback rfState: " + rfState);
450  });
451  try {
452      connectedTag.initialize();
453      let tag = [3, 1, 0];
454      console.log("connectedTag write: tag=" + tag);
455      await connectedTag.write(tag);
456      let data = await connectedTag.read();
457      console.log("connectedTag read: data=" + data);
458      connectedTag.uninitialize();
459  } catch (error) {
460      console.error("connectedTag error: " + error);
461  }
462
463  // Unregister event
464  connectedTag.off("notify", (rfState : number)=> {
465    console.log("connectedTag off Callback rfState: " + rfState);
466  });
467}
468
469export { nfcTagTest }
470```
471
472## NfcRfType
473
474表示NFC场强状态的枚举。
475
476**系统能力**:SystemCapability.Communication.ConnectedTag
477
478| 名称 | 值 | 说明 |
479| -------- | -------- | -------- |
480| NFC_RF_LEAVE | 0 | NFC离场事件。 |
481| NFC_RF_ENTER | 1 | NFC进场事件。 |
482