• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 有源标签
2
3> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
4> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
5
6
7## 导入模块
8
9```
10import connectedTag from '@ohos.connectedTag';
11```
12
13
14## connectedTag.init
15
16init(): boolean
17
18初始化有源标签芯片。
19
20**需要权限**:ohos.permission.NFC_TAG
21
22**系统能力**:SystemCapability.Communication.ConnectedTag
23
24- 返回值:
25  | **类型** | **说明** |
26  | -------- | -------- |
27  | boolean | true:初始化成功, false:初始化失败。 |
28
29
30## connectedTag.uninit
31
32uninit(): boolean
33
34卸载有源标签芯片资源。
35
36**需要权限**:ohos.permission.NFC_TAG
37
38**系统能力**:SystemCapability.Communication.ConnectedTag
39
40- 返回值:
41  | **类型** | **说明** |
42  | -------- | -------- |
43  | boolean | true:卸载操作成功, false:卸载操作失败。 |
44
45
46## connectedTag.readNdefTag
47
48readNdefTag(): Promise<string>
49
50读取有源标签内容,使用promise方式作为异步方法。
51
52**需要权限**:ohos.permission.NFC_TAG
53
54**系统能力**:SystemCapability.Communication.ConnectedTag
55
56- 返回值:
57  | **类型** | **说明** |
58  | -------- | -------- |
59  | Promise<string> | 返回读取有源标签内容。 |
60
61- 示例
62  ```
63  import connectedTag from '@ohos.connectedTag';
64
65  connectedTag.readNdefTag().then(result => {
66      console.log("promise recv ndef response: " + result);
67  });
68  ```
69
70## connectedTag.readNdefTag
71
72readNdefTag(callback: AsyncCallback<string>): void
73
74读取有源标签内容,使用callback方式作为异步方法。
75
76**需要权限**:ohos.permission.NFC_TAG
77
78**系统能力**:SystemCapability.Communication.ConnectedTag
79
80- 参数
81  | **参数名** | **类型** | **必填** | **说明** |
82  | -------- | -------- | -------- | -------- |
83  | callback | AsyncCallback<string> | 是 | 读取有源标签内容回调函数。 |
84
85- 示例
86  ```
87  import connectedTag from '@ohos.connectedTag';
88
89  connectedTag.readNdefTag(result => {
90      console.log("callback recv ndef response: " + result);
91  });
92  ```
93
94## connectedTag.writeNdefTag
95
96writeNdefTag(data: string): Promise<void>
97
98写入内容到有源标签,使用promise方式作为异步方法。
99
100**需要权限**:ohos.permission.NFC_TAG
101
102**系统能力**:SystemCapability.Communication.ConnectedTag
103
104- 参数
105  | **参数名** | **类型** | **必填** | **说明** |
106  | -------- | -------- | -------- | -------- |
107  | data | string | 是 | 有源标签内容, 长度最大是1024个字节。 |
108
109- 返回值:
110  | **类型** | **说明** |
111  | -------- | -------- |
112  | Promise<void> | 无返回值。 |
113
114- 示例
115  ```
116  import connectedTag from '@ohos.connectedTag';
117
118  writeNdefTag.write("010203")
119      .then((value) => {
120          // 事件写入正常
121          console.log(`success to write event: ${value}`);
122      }).catch((err) => {
123          // 事件写入异常
124          console.error(`failed to write event because ${err.code}`);
125      });
126  ```
127
128## connectedTag.writeNdefTag
129
130writeNdefTag(data: string, callback: AsyncCallback<string>): void
131
132写入内容到有源标签,使用callback方式作为异步方法。
133
134**需要权限**:ohos.permission.NFC_TAG
135
136**系统能力**:SystemCapability.Communication.ConnectedTag
137
138- 参数
139  | **参数名** | **类型** | **必填** | **说明** |
140  | -------- | -------- | -------- | -------- |
141  | data | string | 是 | 有源标签内容, 长度最大是1024个字节。 |
142  | callback | AsyncCallback<string> | 是 | 读取有源标签内容回调函数。 |
143
144- 示例
145  ```
146  import connectedTag from '@ohos.connectedTag';
147
148  connectedTag.writeNdefTag("010203", (err, value) => {
149      if (err) {
150          // 事件写入异常
151          console.error(`failed to write event because ${err.code}`);
152          return;
153      }
154
155      // 事件写入正常
156      console.log(`success to write event: ${value}`);
157  });
158  ```
159
160## connectedTag.on('notify')
161
162on(type: "notify", callback: Callback<number>): void
163
164注册NFC场强状态事件。
165
166**需要权限**:ohos.permission.NFC_TAG
167
168**系统能力**:SystemCapability.Communication.ConnectedTag
169
170- 参数
171  | **参数名** | **类型** | **必填** | **说明** |
172  | -------- | -------- | -------- | -------- |
173  | type | string | 是 | 固定填"notify"字符串 |
174  | callback | Callback<number> | 是 | 状态改变回调函数。 |
175
176- 状态改变事件的枚举。
177  | **枚举值** | **说明** |
178  | -------- | -------- |
179  | 0 | NFC离场事件 |
180  | 1 | NFC进场事件 |
181
182
183## connectedTag.off('notify')
184
185off(type: "notify", callback?: Callback<number>): void
186
187取消NFC场强状态事件的注册。
188
189**需要权限**:ohos.permission.NFC_TAG
190
191**系统能力**:SystemCapability.Communication.ConnectedTag
192
193- 参数
194  | **参数名** | **类型** | **必填** | **说明** |
195  | -------- | -------- | -------- | -------- |
196  | type | string | 是 | 固定填"notify"字符串 |
197  | callback | Callback<number> | 否 | 状态改变回调函数。如果callback不填,将“去注册”该事件关联的所有回调函数。 |
198
199- 示例
200  ```
201  import connectedTag from '@ohos.connectedTag';
202
203  var NFC_RF_NOTIFY = "notify";
204
205  var recvNfcRfNotifyFunc = result => {
206      console.info("nfc rf receive state: " + result);
207  }
208
209  // Register event
210  connectedTag.on(NFC_RF_NOTIFY, recvNfcRfNotifyFunc);
211
212  // Unregister event
213  connectedTag.off(NFC_RF_NOTIFY, recvNfcRfNotifyFunc);
214  ```
215
216## NfcRfType
217
218表示NFC场强状态的枚举。
219
220| 名称 | 默认值 | 说明 |
221| -------- | -------- | -------- |
222| NFC_RF_LEAVE | 0 | NFC离场事件 |
223| NFC_RF_ENTER | 1 | NFC进场事件 |
224