diff --git a/zh-cn/application-dev/reference/apis/js-apis-cardEmulation.md b/zh-cn/application-dev/reference/apis/js-apis-cardEmulation.md new file mode 100644 index 0000000000000000000000000000000000000000..94eab26a0137bdce712c31d0fbe7e6487540f76a --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-cardEmulation.md @@ -0,0 +1,112 @@ +# 标准NFC-cardEmulation + +本模块主要用于操作及管理NFC卡模拟。 + +> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** +> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + + +## **导入模块** + +``` +import cardEmulation from '@ohos.nfc.cardEmulation'; +``` + + +## cardEmulation.isSupported + +isSupported(feature: number): boolean + +是否支持某种类型的卡模拟 + +**系统能力**:SystemCapability.Communication.NFC + +**返回值:** + + | **类型** | **说明** | + | -------- | -------- | + | boolean | true:支持该类型卡模拟, false:不支持该类型卡模拟。 | + +## HceService + +管理HCE卡模拟。在调用HceService的接口前,需要先通过new cardEmulation.HceService()创建实例。 + +### startHCE + +startHCE(aidList: string[]): boolean + +开始使用HCE能力。 + +**需要权限**:ohos.permission.NFC_CARD_EMULATION + +**系统能力**:SystemCapability.Communication.NFC + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | -------- | ---- | ----------------------- | +| aidList | string[] | 是 | 注册进行卡模拟的aid列表 | + +### stopHCE + +stopHCE(): boolean + +停止使用HCE能力。 + +**需要权限**:ohos.permission.NFC_CARD_EMULATION + +**系统能力:** SystemCapability.Communication.NFC + +### on + +on(type: "hceCmd", callback: AsyncCallback): void; + +在startHCE后,订阅对端设备消息。 + +**需要权限**:ohos.permission.NFC_CARD_EMULATION + +**系统能力**:SystemCapability.Communication.NFC + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ----------------------- | ---- | -------------------------------------------- | +| type | string | 是 | 固定填"hceCmd"字符串 | +| callback | AsyncCallback | 是 | 订阅的事件回调,入参是符合APDU协议的数据数组 | + +### sendResponse + +sendResponse(responseApdu: number[]): void; + +发送数据到对端设备。 + +**需要权限**:ohos.permission.NFC_CARD_EMULATION + +**系统能力**:SystemCapability.Communication.NFC + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------------ | -------- | ---- | -------------------------------------------------- | +| responseApdu | number[] | 是 | 准备发送到对端的数据,入参是符合APDU协议的数据数组 | + +**示例:** + +```js +var hceService = new cardEmulation.HceService(); +hceService.startHCE([ + "F0010203040506", "A0000000041010" +]) +hceService.stopHCE(); +hceService.on("hceCmd", (err, res) => { + if(err.data === 0) { + console.log('callback => Operation hceCmd succeeded. Data: ' + JSON.stringify(res)); + hceService.sendResponse([0x00,0xa4,0x04,0x00, + 0x0e,0x32,0x50,0x41,0x59,0x2e,0x53,0x59,0x53,0x2e,0x44,0x44, + 0x46,0x30,0x31,0x00]); + } else { + console.log('callback => Operation hceCmd failed. Cause: ' + err.data); + } +}) +``` + diff --git a/zh-cn/application-dev/reference/apis/js-apis-nfcController.md b/zh-cn/application-dev/reference/apis/js-apis-nfcController.md new file mode 100644 index 0000000000000000000000000000000000000000..4f07a3ff32c1bf2873b4ba4415d852ecd5be6f69 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-nfcController.md @@ -0,0 +1,148 @@ +# 标准NFC + +本模块主要用于操作及管理NFC。 + +> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** +> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + + +## **导入模块** + +``` +import controller from '@ohos.nfc.controller'; +``` + + +## controller.isNfcAvailable + +isNfcAvailable(): boolean + +查询是否有NFC功能 + +**返回值:** + +| **类型** | **说明** | +| -------- | -------- | +| boolean | true:有NFC功能, false:无NFC功能。 | + + +## controller.openNfc + +openNfc(): boolean + +打开NFC开关。 + +**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS + +**系统能力**:SystemCapability.Communication.NFC + +**返回值:** + +| **类型** | **说明** | +| -------- | -------- | +| boolean | true:打开NFC成功, false:打开NFC失败。 | + +## controller.closeNfc + +closeNfc(): boolean + +关闭NFC开关。 + +**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS + +**系统能力**:SystemCapability.Communication.NFC + +**返回值:** + +| **类型** | **说明** | +| -------- | ------------------------------------------- | +| boolean | true:关闭NFC成功, false:关闭NFC失败。 | + +## controller.isNfcOpen + +isNfcOpen(): boolean + +查询NFC是否打开。 + +**系统能力**:SystemCapability.Communication.NFC + +**返回值:** + +| **类型** | **说明** | +| -------- | ----------------------------------- | +| boolean | true:NFC打开, false:NFC关闭。 | + +## controller.getNfcState + +getNfcState(): NfcState + +查询NFC状态。 + +**系统能力**:SystemCapability.Communication.NFC + +**返回值:** + +| **类型** | **说明** | +| -------- | ---------------------- | +| NfcState | 详细请见NfcState枚举值 | + +## controller.on('nfcStateChange') + +on(type: "nfcStateChange", callback: Callback<NfcState>): void + +注册NFC开关状态事件。 + +**系统能力**:SystemCapability.Communication.NFC + +**参数** + + | **参数名** | **类型** | **必填** | **说明** | + | -------- | -------- | -------- | -------- | + | type | string | 是 | 固定填"nfcStateChange"字符串 | + | callback | Callback<NfcState> | 是 | 状态改变回调函数。 | + + + +## controller.off('nfcStateChange') + +off(type: "nfcStateChange", callback?: Callback<NfcState>): void + +取消NFC开关状态事件的注册。 + +**系统能力**:SystemCapability.Communication.NFC + +**参数** + + | **参数名** | **类型** | **必填** | **说明** | + | -------- | -------- | -------- | -------- | + | type | string | 是 | 固定填"nfcStateChange"字符串 | +| callback | Callback<NfcState> | 否 | 状态改变回调函数。如果callback不填,将“去注册”该事件关联的所有回调函数。 | + +**示例** + + ```js + import nfcController from '@ohos.nfcController'; + + var NFC_STATE_NOTIFY = "nfcStateChange"; + + var recvNfcStateNotifyFunc = result => { + console.info("nfc state receive state: " + result); + } + + // 注册事件 + nfcController.on(NFC_STATE_NOTIFY, recvNfcStateNotifyFunc); + + // 解注册事件 + nfcController.off(NFC_STATE_NOTIFY, recvNfcStateNotifyFunc); + ``` + +## NfcState + +表示NFC状态的枚举。 + +| 名称 | 默认值 | 说明 | +| -------- | -------- | -------- | +| STATE_OFF | 1 | NFC关闭状态 | +| STATE_TURNING_ON | 2 | NFC正在打开状态 | +| STATE_ON | 3 | NFC打开状态 | +| STATE_TURNING_OFF | 4 | NFC正在关闭状态 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-nfcTag.md b/zh-cn/application-dev/reference/apis/js-apis-nfcTag.md new file mode 100644 index 0000000000000000000000000000000000000000..87fc40e6959e3da7907f5f70ab18f26893e13854 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-nfcTag.md @@ -0,0 +1,78 @@ +# 标准NFC-Tag + +本模块主要用于操作及管理NFC Tag。 + +> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** +> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + + +## **导入模块** + +``` +import tag from '@ohos.nfc.tag'; +``` + + +## tag.getNfcATag + +getNfcATag(tagInfo: TagInfo): NfcATag + +获取NFC A类型Tag对象,通过该对象访问NfcA技术类型的Tag。 + +**需要权限**:ohos.permission.NFC_TAG + +**系统能力**:SystemCapability.Communication.NFC + +**返回值:** + +| **类型** | **说明** | +| -------- | -------- | +| NfcATag | NFC A类型Tag对象 | + +## tag.getNfcBTag + +getNfcBTag(tagInfo: TagInfo): NfcBTag + +获取NFC B类型Tag对象,通过该对象访问NfcB技术类型的Tag。 + +**需要权限**:ohos.permission.NFC_TAG + +**系统能力**:SystemCapability.Communication.NFC + +**返回值:** + +| **类型** | **说明** | +| -------- | ---------------- | +| NfcBTag | NFC B类型Tag对象 | + +## tag.getNfcFTag + +getNfcFTag(tagInfo: TagInfo): NfcFTag + +获取NFC F类型Tag对象,通过该对象访问NfcF技术类型的Tag。 + +**需要权限**:ohos.permission.NFC_TAG + +**系统能力**:SystemCapability.Communication.NFC + +**返回值:** + +| **类型** | **说明** | +| -------- | ---------------- | +| NfcFTag | NFC F类型Tag对象 | + +## tag.getNfcVTag + +getNfcVTag(tagInfo: TagInfo): NfcVTag + +获取NFC V类型Tag对象,通过该对象访问NfcV技术类型的Tag。 + +**需要权限**:ohos.permission.NFC_TAG + +**系统能力**:SystemCapability.Communication.NFC + +**返回值:** + +| **类型** | **说明** | +| -------- | ---------------- | +| NfcVTag | NFC V类型Tag对象 | \ No newline at end of file