• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 标准NFC-cardEmulation
2
3本模块主要用于操作及管理NFC卡模拟。
4
5> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
6> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
7
8
9## 导入模块
10
11```
12import cardEmulation from '@ohos.nfc.cardEmulation';
13```
14
15
16## cardEmulation.isSupported
17
18isSupported(feature: number): boolean
19
20是否支持某种类型的卡模拟
21
22**系统能力**:SystemCapability.Communication.NFC
23
24**返回值:**
25
26  | **类型** | **说明** |
27  | -------- | -------- |
28  | boolean | true:支持该类型卡模拟, false:不支持该类型卡模拟。 |
29
30## HceService
31
32管理HCE卡模拟。在调用HceService的接口前,需要先通过new cardEmulation.HceService()创建实例。
33
34### startHCE
35
36startHCE(aidList: string[]): boolean
37
38开始使用HCE能力。
39
40**需要权限**:ohos.permission.NFC_CARD_EMULATION
41
42**系统能力**:SystemCapability.Communication.NFC
43
44**参数:**
45
46| 参数名  | 类型     | 必填 | 说明                    |
47| ------- | -------- | ---- | ----------------------- |
48| aidList | string[] | 是   | 注册进行卡模拟的aid列表 |
49
50### stopHCE
51
52stopHCE(): boolean
53
54停止使用HCE能力。
55
56**需要权限**:ohos.permission.NFC_CARD_EMULATION
57
58**系统能力:** SystemCapability.Communication.NFC
59
60### on
61
62on(type: "hceCmd", callback: AsyncCallback<number[]>): void;
63
64在startHCE后,订阅对端设备消息。
65
66**需要权限**:ohos.permission.NFC_CARD_EMULATION
67
68**系统能力**:SystemCapability.Communication.NFC
69
70**参数:**
71
72| 参数名   | 类型                    | 必填 | 说明                                         |
73| -------- | ----------------------- | ---- | -------------------------------------------- |
74| type     | string                  | 是   | 固定填"hceCmd"字符串                         |
75| callback | AsyncCallback<number[]> | 是   | 订阅的事件回调,入参是符合APDU协议的数据数组 |
76
77### sendResponse
78
79sendResponse(responseApdu: number[]): void;
80
81发送数据到对端设备。
82
83**需要权限**:ohos.permission.NFC_CARD_EMULATION
84
85**系统能力**:SystemCapability.Communication.NFC
86
87**参数:**
88
89| 参数名       | 类型     | 必填 | 说明                                               |
90| ------------ | -------- | ---- | -------------------------------------------------- |
91| responseApdu | number[] | 是   | 准备发送到对端的数据,入参是符合APDU协议的数据数组 |
92
93**示例:**
94
95```js
96var hceService = new cardEmulation.HceService();
97hceService.startHCE([
98    "F0010203040506", "A0000000041010"
99])
100hceService.stopHCE();
101hceService.on("hceCmd", (err, res) => {
102    if(err.data === 0) {
103        console.log('callback => Operation hceCmd succeeded. Data: ' + JSON.stringify(res));
104          hceService.sendResponse([0x00,0xa4,0x04,0x00,
105          0x0e,0x32,0x50,0x41,0x59,0x2e,0x53,0x59,0x53,0x2e,0x44,0x44,
106          0x46,0x30,0x31,0x00]);
107    } else {
108        console.log('callback => Operation hceCmd failed. Cause: ' + err.data);
109    }
110})
111```
112
113