diff --git a/zh-cn/application-dev/reference/apis/js-apis-cardEmulation.md b/zh-cn/application-dev/reference/apis/js-apis-cardEmulation.md
index cf66358043165dabfed5d24a32d26fde9d01e5d0..e6f45e0b61932ac8decda26b0537c33b5f8724b4 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-cardEmulation.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-cardEmulation.md
@@ -16,31 +16,37 @@ import cardEmulation from '@ohos.nfc.cardEmulation';
定义不同的NFC卡模拟类型。
+> **说明:**
+> 从 API version 6 开始支持,从 API version 9 开始废弃,建议使用[hasHceCapability](#hashcecapability9)替代。
+
**系统能力:** SystemCapability.Communication.NFC.CardEmulation
| 名称 | 值 | 说明 |
| -------- | -------- | -------- |
| HCE | 0 | HCE 卡模拟。 |
| UICC | 1 | SIM 卡模拟。 |
-| ESE | 2 | ESE卡模拟。 |
+| ESE | 2 | ESE卡模拟。 |
-## CardType
+## CardType9+
-定义卡模拟应用是支付类型,还是非支付类型。
+定义卡模拟应用所使用的业务类型,是支付类型,还是其他类型。
**系统能力:** SystemCapability.Communication.NFC.CardEmulation
| 名称 | 值 | 说明 |
| -------- | -------- | -------- |
-| PAYMENT | "payment" | 卡模拟应用是支付类型。 |
-| OTHER | "other" | 卡模拟应用是非支付类型。 |
+| PAYMENT | "payment" | 卡模拟应用所使用的业务是支付类型。 |
+| OTHER | "other" | 卡模拟应用所使用的业务是其他类型。 |
-## cardEmulation.isSupported
+## isSupported
isSupported(feature: number): boolean
是否支持某种类型的卡模拟。
+> **说明:**
+> 从 API version 6 开始支持,从 API version 9 开始废弃,建议使用[hasHceCapability](#hashcecapability9)替代。
+
**系统能力:** SystemCapability.Communication.NFC.CardEmulation
**参数:**
@@ -55,20 +61,38 @@ isSupported(feature: number): boolean
| -------- | -------- |
| boolean | true: 支持该类型卡模拟, false: 不支持该类型卡模拟。|
-## cardEmulation.isDefaultService
+## hasHceCapability9+
+
+hasHceCapability(): boolean
+
+判断是否支持HCE功能。
+
+**系统能力:** SystemCapability.Communication.NFC.CardEmulation
+
+**需要权限:** ohos.permission.NFC_CARD_EMULATION
+
+**返回值:**
+
+| **类型** | **说明** |
+| -------- | -------- |
+| boolean | true: 支持HCE, false: 不支持HCE。|
+
+## isDefaultService9+
isDefaultService(elementName: ElementName, type: CardType): boolean
-判断指定的应用是否为默认支付应用。
+判断指定的应用是否为指定业务类型的默认应用。
**系统能力:** SystemCapability.Communication.NFC.CardEmulation
+**需要权限:** ohos.permission.NFC_CARD_EMULATION
+
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | -------- | ---- | ----------------------- |
| elementName | [ElementName](js-apis-bundleManager-elementName.md#elementname) | 是 | 应用的描述,由Bundle名称和组件名称组成。 |
-| type | [CardType](#cardtype) | 是 | 支付类型。 |
+| type | [CardType](#cardtype9) | 是 | 卡模拟业务类型。 |
**返回值:**
@@ -87,6 +111,12 @@ if (!isHceSupported) {
return;
}
+var hasHceCap = cardEmulation.hasHceCapability();
+if (!hasHceCap) {
+ console.log('this device hasHceCapability false, ignore it.');
+ return;
+}
+
var elementName = {
"bundleName": "com.test.cardemulation",
"abilityName": "com.test.cardemulation.MainAbility",
diff --git a/zh-cn/application-dev/reference/apis/js-apis-nfcController.md b/zh-cn/application-dev/reference/apis/js-apis-nfcController.md
index a82e48c76e80342f10ce9ee42bfcd2852fc09d34..b46c3e52c46c256fad4ca33851398ed62e7aad52 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-nfcController.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-nfcController.md
@@ -31,6 +31,9 @@ isNfcAvailable(): boolean
查询设备是否有NFC能力。
+> **说明:**
+> 从 API version 7 开始支持,从 API version 9 开始废弃,建议使用canIUse("SystemCapability.Communication.NFC.Core")替代。
+
**系统能力:** SystemCapability.Communication.NFC.Core
**返回值:**
@@ -46,6 +49,9 @@ openNfc(): boolean
打开NFC开关。
+> **说明:**
+> 从 API version 7 开始支持,从 API version 9 开始废弃,建议使用[enableNfc](#controllerenablenfc9)替代。
+
**需要权限:** ohos.permission.MANAGE_SECURE_SETTINGS
**系统能力:** SystemCapability.Communication.NFC.Core
@@ -56,12 +62,33 @@ openNfc(): boolean
| -------- | -------- |
| boolean | true: 打开NFC成功, false: 打开NFC失败。 |
+## controller.enableNfc9+
+
+enableNfc(): boolean
+
+打开NFC开关。
+
+**需要权限:** ohos.permission.MANAGE_SECURE_SETTINGS
+
+**系统能力:** SystemCapability.Communication.NFC.Core
+
+**错误码:**
+
+以下错误码的详细介绍请参见[NFC错误码](../errorcodes/errorcode-nfc.md)。
+
+| 错误码ID | 错误信息|
+| ------- | -------|
+| 3100101 | NFC state is abnormal in service. |
+
## controller.closeNfc
closeNfc(): boolean
关闭NFC开关。
+> **说明:**
+> 从 API version 7 开始支持,从 API version 9 开始废弃,建议使用[disableNfc](#controllerdisablenfc9)替代。
+
**需要权限:** ohos.permission.MANAGE_SECURE_SETTINGS
**系统能力:** SystemCapability.Communication.NFC.Core
@@ -72,6 +99,24 @@ closeNfc(): boolean
| -------- | ------------------------------------------- |
| boolean | true: 关闭NFC成功, false: 关闭NFC失败。 |
+## controller.disableNfc9+
+
+disableNfc(): boolean
+
+关闭NFC开关。
+
+**需要权限:** ohos.permission.MANAGE_SECURE_SETTINGS
+
+**系统能力:** SystemCapability.Communication.NFC.Core
+
+**错误码:**
+
+以下错误码的详细介绍请参见[NFC错误码](../errorcodes/errorcode-nfc.md)。
+
+| 错误码ID | 错误信息|
+| ------- | -------|
+| 3100101 | NFC state is abnormal in service. |
+
## controller.isNfcOpen
isNfcOpen(): boolean
@@ -150,12 +195,28 @@ if (!controller.isNfcOpen()) {
console.log("controller openNfc ret: " + ret);
}
+// from api9, use 'enableNfc' to open nfc.
+try {
+ controller.enableNfc();
+ console.log("controller enableNfc success");
+} catch (busiError) {
+ console.log("controller enableNfc busiError: " + busiError);
+}
+
// close nfc, require permission: ohos.permission.MANAGE_SECURE_SETTINGS
if (controller.isNfcOpen()) {
var ret = controller.closeNfc();
console.log("controller closeNfc ret: " + ret);
}
+// from api9, use 'disableNfc' to close nfc.
+try {
+ controller.disableNfc();
+ console.log("controller disableNfc success");
+} catch (busiError) {
+ console.log("controller disableNfc busiError: " + busiError);
+}
+
// unregister callback
controller.off("nfcStateChange");
```
diff --git a/zh-cn/application-dev/reference/apis/js-apis-nfcTag.md b/zh-cn/application-dev/reference/apis/js-apis-nfcTag.md
index 3c1f33040ca9c792e42256b083dbecaa9ec4ee44..d7ebd70b23d8889b5d04fda6832cda2f340f55da 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-nfcTag.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-nfcTag.md
@@ -126,64 +126,204 @@ getNfcATag(tagInfo: [TagInfo](#taginfo)): [NfcATag](js-apis-nfctech.md#nfcatag)
获取NFC A类型Tag对象,通过该对象可访问NfcA技术类型的Tag。
-**需要权限:** ohos.permission.NFC_TAG
+> **说明:**
+> 从 API version 7 开始支持,从 API version 9 开始废弃,建议使用[tag.getNfcA](#taggetnfca9)替代。
+
+**系统能力:** SystemCapability.Communication.NFC.Tag
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| --------- | ------------------------- | ---- | ---------------------------------------- |
+| taginfo | [TagInfo](#taginfo) | 是 | 包含Tag技术类型和相关参数,从tag.getTagInfo(want: Want)获取。
+
+**返回值:**
+
+| **类型** | **说明** |
+| -------- | -------- |
+| [NfcATag](js-apis-nfctech.md#nfcatag) | NFC A类型Tag对象。 |
+
+## tag.getNfcA9+
+
+getNfcA(tagInfo: [TagInfo](#taginfo)): [NfcATag](js-apis-nfctech.md#nfcatag)
+
+获取NFC A类型Tag对象,通过该对象可访问NfcA技术类型的Tag。
**系统能力:** SystemCapability.Communication.NFC.Tag
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| --------- | ------------------------- | ---- | ---------------------------------------- |
+| taginfo | [TagInfo](#taginfo) | 是 | 包含Tag技术类型和相关参数,从tag.getTagInfo(want: Want)获取。
+
**返回值:**
| **类型** | **说明** |
| -------- | -------- |
| [NfcATag](js-apis-nfctech.md#nfcatag) | NFC A类型Tag对象。 |
+**错误码:**
+
+以下错误码的详细介绍请参见[NFC错误码](../errorcodes/errorcode-nfc.md)。
+
+| 错误码ID | 错误信息|
+| ------- | -------|
+| 3100201 | Tag running state is abnormal in service. |
+
## tag.getNfcBTag
getNfcBTag(tagInfo: [TagInfo](#taginfo)): [NfcBTag](js-apis-nfctech.md#nfcbtag)
获取NFC B类型Tag对象,通过该对象可访问NfcB技术类型的Tag。
-**需要权限:** ohos.permission.NFC_TAG
+> **说明:**
+> 从 API version 7 开始支持,从 API version 9 开始废弃,建议使用[tag.getNfcB](#taggetnfcb9)替代。
+
+**系统能力:** SystemCapability.Communication.NFC.Tag
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| --------- | ------------------------- | ---- | ---------------------------------------- |
+| taginfo | [TagInfo](#taginfo) | 是 | 包含Tag技术类型和相关参数,从tag.getTagInfo(want: Want)获取。
+
+**返回值:**
+
+| **类型** | **说明** |
+| -------- | ---------------- |
+| [NfcBTag](js-apis-nfctech.md#nfcbtag) | NFC B类型Tag对象。 |
+
+## tag.getNfcB9+
+
+getNfcB(tagInfo: [TagInfo](#taginfo)): [NfcBTag](js-apis-nfctech.md#nfcbtag)
+
+获取NFC B类型Tag对象,通过该对象可访问NfcB技术类型的Tag。
**系统能力:** SystemCapability.Communication.NFC.Tag
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| --------- | ------------------------- | ---- | ---------------------------------------- |
+| taginfo | [TagInfo](#taginfo) | 是 | 包含Tag技术类型和相关参数,从tag.getTagInfo(want: Want)获取。
+
**返回值:**
| **类型** | **说明** |
| -------- | ---------------- |
| [NfcBTag](js-apis-nfctech.md#nfcbtag) | NFC B类型Tag对象。 |
+**错误码:**
+
+以下错误码的详细介绍请参见[NFC错误码](../errorcodes/errorcode-nfc.md)。
+
+| 错误码ID | 错误信息|
+| ------- | -------|
+| 3100201 | Tag running state is abnormal in service. |
+
## tag.getNfcFTag
getNfcFTag(tagInfo: [TagInfo](#taginfo)): [NfcFTag](js-apis-nfctech.md#nfcftag)
获取NFC F类型Tag对象,通过该对象可访问NfcF技术类型的Tag。
-**需要权限:** ohos.permission.NFC_TAG
+> **说明:**
+> 从 API version 7 开始支持,从 API version 9 开始废弃,建议使用[tag.getNfcF](#taggetnfcf9)替代。
+
+**系统能力:** SystemCapability.Communication.NFC.Tag
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| --------- | ------------------------- | ---- | ---------------------------------------- |
+| taginfo | [TagInfo](#taginfo) | 是 | 包含Tag技术类型和相关参数,从tag.getTagInfo(want: Want)获取。
+
+**返回值:**
+
+| **类型** | **说明** |
+| -------- | ---------------- |
+| [NfcFTag](js-apis-nfctech.md#nfcftag) | NFC F类型Tag对象。 |
+
+## tag.getNfcF9+
+
+getNfcF(tagInfo: [TagInfo](#taginfo)): [NfcFTag](js-apis-nfctech.md#nfcftag)
+
+获取NFC F类型Tag对象,通过该对象可访问NfcF技术类型的Tag。
**系统能力:** SystemCapability.Communication.NFC.Tag
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| --------- | ------------------------- | ---- | ---------------------------------------- |
+| taginfo | [TagInfo](#taginfo) | 是 | 包含Tag技术类型和相关参数,从tag.getTagInfo(want: Want)获取。
+
**返回值:**
| **类型** | **说明** |
| -------- | ---------------- |
| [NfcFTag](js-apis-nfctech.md#nfcftag) | NFC F类型Tag对象。 |
+**错误码:**
+
+以下错误码的详细介绍请参见[NFC错误码](../errorcodes/errorcode-nfc.md)。
+
+| 错误码ID | 错误信息|
+| ------- | -------|
+| 3100201 | Tag running state is abnormal in service. |
+
## tag.getNfcVTag
getNfcVTag(tagInfo: [TagInfo](#taginfo)): [NfcVTag](js-apis-nfctech.md#nfcvtag)
获取NFC V类型Tag对象,通过该对象可访问NfcV技术类型的Tag。
-**需要权限:** ohos.permission.NFC_TAG
+> **说明:**
+> 从 API version 7 开始支持,从 API version 9 开始废弃,建议使用[tag.getNfcV](#taggetnfcv9)替代。
+
+**系统能力:** SystemCapability.Communication.NFC.Tag
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| --------- | ------------------------- | ---- | ---------------------------------------- |
+| taginfo | [TagInfo](#taginfo) | 是 | 包含Tag技术类型和相关参数,从tag.getTagInfo(want: Want)获取。
+
+**返回值:**
+
+| **类型** | **说明** |
+| -------- | ---------------- |
+| [NfcVTag](js-apis-nfctech.md#nfcvtag) | NFC V类型Tag对象。 |
+
+## tag.getNfcV9+
+
+getNfcV(tagInfo: [TagInfo](#taginfo)): [NfcVTag](js-apis-nfctech.md#nfcvtag)
+
+获取NFC V类型Tag对象,通过该对象可访问NfcV技术类型的Tag。
**系统能力:** SystemCapability.Communication.NFC.Tag
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| --------- | ------------------------- | ---- | ---------------------------------------- |
+| taginfo | [TagInfo](#taginfo) | 是 | 包含Tag技术类型和相关参数,从tag.getTagInfo(want: Want)获取。
+
**返回值:**
| **类型** | **说明** |
| -------- | ---------------- |
| [NfcVTag](js-apis-nfctech.md#nfcvtag) | NFC V类型Tag对象。 |
+**错误码:**
+
+以下错误码的详细介绍请参见[NFC错误码](../errorcodes/errorcode-nfc.md)。
+
+| 错误码ID | 错误信息|
+| ------- | -------|
+| 3100201 | Tag running state is abnormal in service. |
+
## tag.getIsoDep9+
getIsoDep(tagInfo: [TagInfo](#taginfo)): [IsoDepTag](js-apis-nfctech.md#isoDepTag9 )
diff --git a/zh-cn/application-dev/reference/apis/js-apis-nfctech.md b/zh-cn/application-dev/reference/apis/js-apis-nfctech.md
index fc5241358c6f5e76f43833d7aef8b059b663fe58..122d4992bf1b5b2e2c5ac7d431ad970d345443d2 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-nfctech.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-nfctech.md
@@ -26,8 +26,6 @@ getSak(): number
获取NFC-A标签的SAK值。
-**需要权限:** ohos.permission.NFC_TAG
-
**系统能力:** SystemCapability.Communication.NFC.Tag
**返回值:**
@@ -52,8 +50,6 @@ getAtqa(): number[]
获取NFC-A标签的Atqa值。
-**需要权限:** ohos.permission.NFC_TAG
-
**系统能力:** SystemCapability.Communication.NFC.Tag
**返回值:**
@@ -86,8 +82,6 @@ getRespAppData(): number[]
获取标签的应用程序数据。
-**需要权限:** ohos.permission.NFC_TAG
-
**系统能力:** SystemCapability.Communication.NFC.Tag
**返回值:**
@@ -112,8 +106,6 @@ getRespProtocol(): number[]
获取标签的协议信息。
-**需要权限:** ohos.permission.NFC_TAG
-
**系统能力:** SystemCapability.Communication.NFC.Tag
**返回值:**
@@ -146,8 +138,6 @@ getSystemCode(): number[]
从标签实例获取系统代码。
-**需要权限:** ohos.permission.NFC_TAG
-
**系统能力:** SystemCapability.Communication.NFC.Tag
**返回值:**
@@ -172,8 +162,6 @@ getPmm(): number[]
从标签实例获取PMm(由IC代码和制造商参数组成)。
-**需要权限:** ohos.permission.NFC_TAG
-
**系统能力:** SystemCapability.Communication.NFC.Tag
**返回值:**
@@ -206,8 +194,6 @@ getResponseFlags(): number
从标签实例实例获取响应标志。
-**需要权限:** ohos.permission.NFC_TAG
-
**系统能力:** SystemCapability.Communication.NFC.Tag
**返回值:**
@@ -232,8 +218,6 @@ getDsfId(): number
从标签实例实例获取数据存储格式标识符(DSFID)。
-**需要权限:** ohos.permission.NFC_TAG
-
**系统能力:** SystemCapability.Communication.NFC.Tag
**返回值:**
diff --git a/zh-cn/application-dev/reference/apis/js-apis-tagSession.md b/zh-cn/application-dev/reference/apis/js-apis-tagSession.md
index 8677dd02863676b4bf8296bd75396eab7bc096eb..32b66bd40eecb8b10ef4313dbd7325c80cf8162e 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-tagSession.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-tagSession.md
@@ -26,6 +26,9 @@ getTagInfo(): tag.TagInfo
获取该Tag被分发时,NFC服务所提供的Tag数据对象。
+> **说明:**
+> 从 API version 7 开始支持,从 API version 9 开始废弃,建议使用[tag.getTagInfo](js-apis-nfcTag.md#taggettaginfo9)替代。
+
**需要权限:** ohos.permission.NFC_TAG
**系统能力:** SystemCapability.Communication.NFC.Tag
@@ -54,6 +57,9 @@ connectTag(): boolean;
和标签建立连接。在从标签读取数据或将数据写入标签之前,必须调用此方法。
+> **说明:**
+> 从 API version 7 开始支持,从 API version 9 开始废弃,建议使用[tagSession.connect](#tagsessionconnect9)替代。
+
**需要权限:** ohos.permission.NFC_TAG
**系统能力:** SystemCapability.Communication.NFC.Tag
@@ -76,12 +82,49 @@ let connectStatus = tag.getIsoDep(tagInfo).connectTag();
console.log("connectStatus: " + connectStatus);
```
+### tagSession.connect9+
+
+connect(): void;
+
+和标签建立连接。在从标签读取数据或将数据写入标签之前,必须调用此方法。
+
+**需要权限:** ohos.permission.NFC_TAG
+
+**系统能力:** SystemCapability.Communication.NFC.Tag
+
+**错误码:**
+
+以下错误码的详细介绍请参见[NFC错误码](../errorcodes/errorcode-nfc.md)。
+
+| 错误码ID | 错误信息|
+| ------- | -------|
+| 3100201 | Tag running state is abnormal in service. |
+
+**示例:**
+
+```js
+import tag from '@ohos.nfc.tag';
+
+// see 'tag.TagInfo' at 'js-apis-nfcTag.md', tagInfo is an Object given by nfc service when tag is dispatched.
+// the folowing getXXX, can be one of getIsoDep, getNdef, getMifareClassic, ...
+
+try {
+ tag.getIsoDep(tagInfo).connect();
+ console.log("tag connect success");
+} catch (busiError) {
+ console.log("tag connect busiError: " + busiError);
+}
+```
+
### tagSession.reset()
reset(): void
重置与标签的连接。
+> **说明:**
+> 从 API version 7 开始支持,从 API version 9 开始废弃,建议使用[tagSession.resetConnection](#tagsessionresetconnection9)替代。
+
**需要权限:** ohos.permission.NFC_TAG
**系统能力:** SystemCapability.Communication.NFC.Tag
@@ -97,12 +140,49 @@ import tag from '@ohos.nfc.tag';
tag.getIsoDep(tagInfo).reset();
```
+### tagSession.resetConnection()9+
+
+resetConnection(): void
+
+重置与标签的连接。
+
+**需要权限:** ohos.permission.NFC_TAG
+
+**系统能力:** SystemCapability.Communication.NFC.Tag
+
+**错误码:**
+
+以下错误码的详细介绍请参见[NFC错误码](../errorcodes/errorcode-nfc.md)。
+
+| 错误码ID | 错误信息|
+| ------- | -------|
+| 3100201 | Tag running state is abnormal in service. |
+
+**示例:**
+
+```js
+import tag from '@ohos.nfc.tag';
+
+// see 'tag.TagInfo' at 'js-apis-nfcTag.md', tagInfo is an Object given by nfc service when tag is dispatched.
+// the folowing getXXX, can be one of getIsoDep, getNdef, getMifareClassic, ...
+
+try {
+ tag.getIsoDep(tagInfo).resetConnection();
+ console.log("tag resetConnection success");
+} catch (busiError) {
+ console.log("tag resetConnection busiError: " + busiError);
+}
+```
+
### tagSession.isTagConnected
isTagConnected(): boolean
检查是否已与标签建立连接。
+> **说明:**
+> 从 API version 7 开始支持,从 API version 9 开始废弃,建议使用[tagSession.isConnected](#tagsessionisconnected9)替代。
+
**需要权限:** ohos.permission.NFC_TAG
**系统能力:** SystemCapability.Communication.NFC.Tag
@@ -125,12 +205,47 @@ let isTagConnected = tag.getIsoDep(tagInfo).isTagConnected();
console.log("isTagConnected: " + isTagConnected);
```
+### tagSession.isConnected9+
+
+isConnected(): boolean
+
+检查是否已与标签建立连接。
+
+**需要权限:** ohos.permission.NFC_TAG
+
+**系统能力:** SystemCapability.Communication.NFC.Tag
+
+**返回值:**
+
+| **类型** | **说明** |
+| ------------------ | --------------------------|
+| boolean | 已建立连接返回 true,未建立连接返回false。 |
+
+**示例:**
+
+```js
+import tag from '@ohos.nfc.tag';
+
+// see 'tag.TagInfo' at 'js-apis-nfcTag.md', tagInfo is an Object given by nfc service when tag is dispatched.
+// the folowing getXXX, can be one of getIsoDep, getNdef, getMifareClassic, ...
+
+try {
+ var isConnected = tag.getIsoDep(tagInfo).isConnected();
+ console.log("tag isConnected = " + isConnected);
+} catch (busiError) {
+ console.log("tag isConnected busiError: " + busiError);
+}
+```
+
### tagSession.getMaxSendLength
getMaxSendLength(): number
查询可以发送到标签的最大数据长度。
+> **说明:**
+> 从 API version 7 开始支持,从 API version 9 开始废弃,建议使用[tagSession.getMaxTransmitSize](#tagsessiongetmaxtransmitsize9)替代。
+
**需要权限:** ohos.permission.NFC_TAG
**系统能力:** SystemCapability.Communication.NFC.Tag
@@ -152,12 +267,54 @@ let maxSendLen = tag.getIsoDep(tagInfo).getMaxSendLength();
console.log("tag maxSendLen: " + maxSendLen);
```
+### tagSession.getMaxTransmitSize9+
+
+getMaxTransmitSize(): number
+
+查询可以发送到标签的最大数据长度。
+
+**需要权限:** ohos.permission.NFC_TAG
+
+**系统能力:** SystemCapability.Communication.NFC.Tag
+
+**返回值:**
+
+| **类型** | **说明** |
+| ------------------ | --------------------------|
+| number | 可以发送到标签的最大数据长度,非负数。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[NFC错误码](../errorcodes/errorcode-nfc.md)。
+
+| 错误码ID | 错误信息|
+| ------- | -------|
+| 3100201 | Tag running state is abnormal in service. |
+
+**示例:**
+```js
+import tag from '@ohos.nfc.tag';
+
+// see 'tag.TagInfo' at 'js-apis-nfcTag.md', tagInfo is an Object given by nfc service when tag is dispatched.
+// the folowing getXXX, can be one of getIsoDep, getNdef, getMifareClassic, ...
+
+try {
+ var maxTransmitSize = tag.getIsoDep(tagInfo).getMaxTransmitSize();
+ console.log("tag maxTransmitSize = " + maxTransmitSize);
+} catch (busiError) {
+ console.log("tag getMaxTransmitSize busiError: " + busiError);
+}
+```
+
### tagSession.getSendDataTimeout
getSendDataTimeout(): number
查询发送数据到Tag的等待超时时间,单位是毫秒。
+> **说明:**
+> 从 API version 7 开始支持,从 API version 9 开始废弃,建议使用[tagSession.getTimeout](#tagsessiongettimeout9)替代。
+
**需要权限:** ohos.permission.NFC_TAG
**系统能力:** SystemCapability.Communication.NFC.Tag
@@ -180,12 +337,55 @@ let sendDataTimeout = tag.getIsoDep(tagInfo).getSendDataTimeout();
console.log("tag sendDataTimeout: " + sendDataTimeout);
```
+### tagSession.getTimeout9+
+
+getTimeout(): number
+
+查询发送数据到Tag的等待超时时间,单位是毫秒。
+
+**需要权限:** ohos.permission.NFC_TAG
+
+**系统能力:** SystemCapability.Communication.NFC.Tag
+
+**返回值:**
+
+| **类型** | **说明** |
+| ------------------ | --------------------------|
+| number | 发送数据到Tag的等待超时时间,单位是毫秒,非负数。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[NFC错误码](../errorcodes/errorcode-nfc.md)。
+
+| 错误码ID | 错误信息|
+| ------- | -------|
+| 3100201 | Tag running state is abnormal in service. |
+
+**示例:**
+
+```js
+import tag from '@ohos.nfc.tag';
+
+// see 'tag.TagInfo' at 'js-apis-nfcTag.md', tagInfo is an Object given by nfc service when tag is dispatched.
+// the folowing getXXX, can be one of getIsoDep, getNdef, getMifareClassic, ...
+
+try {
+ var timeout = tag.getIsoDep(tagInfo).getTimeout();
+ console.log("tag timeout = " + timeout);
+} catch (busiError) {
+ console.log("tag getTimeout busiError: " + busiError);
+}
+```
+
### tagSession.setSendDataTimeout
setSendDataTimeout(timeout: number): boolean
查询发送数据到Tag的等待超时时间,单位是毫秒。
+> **说明:**
+> 从 API version 7 开始支持,从 API version 9 开始废弃,建议使用[tagSession.setTimeout](#tagsessionsettimeout9)替代。
+
**需要权限:** ohos.permission.NFC_TAG
**系统能力:** SystemCapability.Communication.NFC.Tag
@@ -215,12 +415,56 @@ let setStatus = tag.getIsoDep(tagInfo).setSendDataTimeout(timeoutMs);
console.log("tag setSendDataTimeout setStatus: " + setStatus);
```
+### tagSession.setTimeout9+
+
+setTimeout(timeout: number): void
+
+查询发送数据到Tag的等待超时时间,单位是毫秒。
+
+**需要权限:** ohos.permission.NFC_TAG
+
+**系统能力:** SystemCapability.Communication.NFC.Tag
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ----------------------- | ---- | -------------------------------------- |
+| timeout | number | 是 | 超时时间,单位毫秒,非负值。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[NFC错误码](../errorcodes/errorcode-nfc.md)。
+
+| 错误码ID | 错误信息|
+| ------- | -------|
+| 3100201 | Tag running state is abnormal in service. |
+
+**示例:**
+
+```js
+import tag from '@ohos.nfc.tag';
+
+// see 'tag.TagInfo' at 'js-apis-nfcTag.md', tagInfo is an Object given by nfc service when tag is dispatched.
+// the folowing getXXX, can be one of getIsoDep, getNdef, getMifareClassic, ...
+
+let timeoutMs = 700; // change it to be correct.
+try {
+ tag.getIsoDep(tagInfo).setTimeout(timeoutMs);
+ console.log("tag setTimeout success");
+} catch (busiError) {
+ console.log("tag setTimeout busiError: " + busiError);
+}
+```
+
### tagSession.sendData
sendData(data: number[]): Promise
发送指令到Tag上,使用Promise方式作为异步方法。
+> **说明:**
+> 从 API version 7 开始支持,从 API version 9 开始废弃,建议使用[tagSession.transmit](#tagsessiontransmit9)替代。
+
**需要权限:** ohos.permission.NFC_TAG
**系统能力:** SystemCapability.Communication.NFC.Tag
@@ -267,6 +511,9 @@ sendData(data: number[], callback: AsyncCallback): void
发送指令到Tag上,使用AsyncCallback方式作为异步方法。
+> **说明:**
+> 从 API version 7 开始支持,从 API version 9 开始废弃,建议使用[tagSession.transmit](#tagsessiontransmit9-1)替代。
+
**需要权限:** ohos.permission.NFC_TAG
**系统能力:** SystemCapability.Communication.NFC.Tag
@@ -303,3 +550,123 @@ tag.getIsoDep(tagInfo).sendData(cmdData, (err, response)=> {
}
});
```
+
+### tagSession.transmit9+
+
+transmit(data: number[]): Promise
+
+发送指令到Tag上,使用Promise方式作为异步方法。
+
+**需要权限:** ohos.permission.NFC_TAG
+
+**系统能力:** SystemCapability.Communication.NFC.Tag
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ----------------------- | ---- | -------------------------------------- |
+| data | number[] | 是 | 要发送的指令。每个number十六进制表示,范围是0x00~0xFF。 |
+
+**返回值:**
+
+| **类型** | **说明** |
+| ------------------ | --------------------------|
+| Promise | 对端Tag对指令的响应数据。每个number十六进制表示,范围是0x00~0xFF。|
+
+**错误码:**
+
+以下错误码的详细介绍请参见[NFC错误码](../errorcodes/errorcode-nfc.md)。
+
+| 错误码ID | 错误信息|
+| ------- | -------|
+| 3100201 | Tag running state is abnormal in service. |
+
+**示例:**
+
+```js
+import tag from '@ohos.nfc.tag';
+
+// see 'tag.TagInfo' at 'js-apis-nfcTag.md', tagInfo is an Object given by nfc service when tag is dispatched.
+// the folowing getXXX, can be one of getIsoDep, getNdef, getMifareClassic, ...
+
+// connect the tag at first if not connected.
+try {
+ if (!tag.getIsoDep(tagInfo).isConnected()) {
+ tag.getIsoDep(tagInfo).connect();
+ }
+} catch (busiError) {
+ console.log("tag connect busiError: " + busiError);
+ return;
+}
+
+let cmdData = [0x01, 0x02, 0x03, 0x04]; // change the raw data to be correct.
+try {
+ tag.getIsoDep(tagInfo).transmit(cmdData).then((response) => {
+ console.log("tagSession transmit Promise response: " + response);
+ }).catch((err)=> {
+ console.log("tagSession transmit Promise err: " + err);
+ });
+} catch (busiError) {
+ console.log("tag transmit busiError: " + busiError);
+ return;
+}
+```
+
+### tagSession.transmit9+
+
+transmit(data: number[], callback: AsyncCallback): void
+
+发送指令到Tag上,使用AsyncCallback方式作为异步方法。
+
+**需要权限:** ohos.permission.NFC_TAG
+
+**系统能力:** SystemCapability.Communication.NFC.Tag
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ----------------------- | ---- | -------------------------------------- |
+| data | number[] | 是 | 要发送的指令。每个number十六进制表示,范围是0x00~0xFF。 |
+| callback | AsyncCallback | 是 | 回调函数,返回响应数据。每个number十六进制表示,范围是0x00~0xFF。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[NFC错误码](../errorcodes/errorcode-nfc.md)。
+
+| 错误码ID | 错误信息|
+| ------- | -------|
+| 3100201 | Tag running state is abnormal in service. |
+
+**示例:**
+
+```js
+import tag from '@ohos.nfc.tag';
+
+// see 'tag.TagInfo' at 'js-apis-nfcTag.md', tagInfo is an Object given by nfc service when tag is dispatched.
+// the folowing getXXX, can be one of getIsoDep, getNdef, getMifareClassic, ...
+
+// connect the tag at first if not connected.
+try {
+ if (!tag.getIsoDep(tagInfo).isConnected()) {
+ tag.getIsoDep(tagInfo).connect();
+ }
+} catch (busiError) {
+ console.log("tag connect busiError: " + busiError);
+ return;
+}
+
+let cmdData = [0x01, 0x02, 0x03, 0x04]; // change the raw data to be correct.
+try {
+ tag.getIsoDep(tagInfo).transmit(cmdData, (err, response)=> {
+ if (err) {
+ console.log("tagSession transmit AsyncCallback err: " + err);
+ } else {
+ console.log("tagSession transmit AsyncCallback response: " + response);
+ }
+ });
+} catch (busiError) {
+ console.log("tag transmit busiError: " + busiError);
+ return;
+}
+
+```
diff --git a/zh-cn/application-dev/reference/errorcodes/errorcode-nfc.md b/zh-cn/application-dev/reference/errorcodes/errorcode-nfc.md
index d6763eebdda0b57f0090abfd2da966f7d31dc40e..9c73fdd1a51dc669768f88c0488d5d92d60f3ac3 100644
--- a/zh-cn/application-dev/reference/errorcodes/errorcode-nfc.md
+++ b/zh-cn/application-dev/reference/errorcodes/errorcode-nfc.md
@@ -4,7 +4,7 @@
**错误信息**
-NFC opening or closing state is abnormal in service.
+NFC state is abnormal in service.
**错误描述**
@@ -12,11 +12,13 @@ NFC服务内部执行NFC打开或关闭异常。
**可能原因**
-和NFC服务建立通信异常。
+1. 和NFC服务建立通信异常。
+2. NFC芯片通信异常。
**处理步骤**
-重新执行打开或关闭NFC。
+1. 重新执行打开或关闭NFC。
+2. 重新执行打开或关闭NFC,或重启设备尝试。
## 3100201
diff --git a/zh-cn/release-notes/changelogs/OpenHarmony_3.2.10.3/changelogs-nfc.md b/zh-cn/release-notes/changelogs/OpenHarmony_3.2.10.3/changelogs-nfc.md
new file mode 100644
index 0000000000000000000000000000000000000000..506de8014aa3d4ea26c6a36c63e51eaa133e1499
--- /dev/null
+++ b/zh-cn/release-notes/changelogs/OpenHarmony_3.2.10.3/changelogs-nfc.md
@@ -0,0 +1,61 @@
+# 公共通信子系统NFC JS API变更Changelog
+
+OpenHarmony 3.2.10.2(Mr)版本相较于OpenHarmony 3.2.beta4版本,分布式数据管理子系统的API变更如下
+
+## cl.nfc.1 接口变更
+NFC部分API6到API8部分JS接口不支持抛出错误码,需要删除废弃,然后使用新的API9替换。
+
+开发者需要根据以下说明对应用进行适配。
+
+ **变更影响**
+
+影响部分API6到API8部分JS接口,应用需要进行适配才可以在新版本SDK环境正常实现功能。
+
+**关键的接口/组件变更**
+
+| 模块名 | 类名 | 方法/属性/枚举/常量 | 变更类型 |
+| ------------------------- | ------------------- | ------------------------------------------------------------ | -------- |
+| api/@ohos.nfc.cardEmulation.d.ts | cardEmulation | FeatureType | 废弃 |
+| api/@ohos.nfc.cardEmulation.d.ts | cardEmulation | isSupported | 废弃 |
+| api/@ohos.nfc.cardEmulation.d.ts | cardEmulation | hasHceCapability | 新增 |
+| api/@ohos.nfc.controller.d.ts | nfcController | isNfcAvailable | 废弃 |
+| api/@ohos.nfc.controller.d.ts | nfcController | openNfc | 废弃 |
+| api/@ohos.nfc.controller.d.ts | nfcController | closeNfc | 废弃 |
+| api/@ohos.nfc.controller.d.ts | nfcController | enableNfc | 新增 |
+| api/@ohos.nfc.controller.d.ts | nfcController | disableNfc | 新增 |
+| api/@ohos.nfc.tag.d.ts | tag | getNfcATag | 废弃 |
+| api/@ohos.nfc.tag.d.ts | tag | getNfcBTag | 废弃 |
+| api/@ohos.nfc.tag.d.ts | tag | getNfcFTag | 废弃 |
+| api/@ohos.nfc.tag.d.ts | tag | getNfcVTag | 废弃 |
+| api/@ohos.nfc.tag.d.ts | tag | getNfcA | 新增 |
+| api/@ohos.nfc.tag.d.ts | tag | getNfcB | 新增 |
+| api/@ohos.nfc.tag.d.ts | tag | getNfcF | 新增 |
+| api/@ohos.nfc.tag.d.ts | tag | getNfcV | 新增 |
+| api/tag/tagSession.d.ts | TagSession | getTagInfo | 废弃 |
+| api/tag/tagSession.d.ts | TagSession | connectTag | 废弃 |
+| api/tag/tagSession.d.ts | TagSession | reset | 废弃 |
+| api/tag/tagSession.d.ts | TagSession | isTagConnected | 废弃 |
+| api/tag/tagSession.d.ts | TagSession | setSendDataTimeout | 废弃 |
+| api/tag/tagSession.d.ts | TagSession | getSendDataTimeout | 废弃 |
+| api/tag/tagSession.d.ts | TagSession | sendData | 废弃 |
+| api/tag/tagSession.d.ts | TagSession | getMaxSendLength | 废弃 |
+| api/tag/tagSession.d.ts | TagSession | connect | 新增 |
+| api/tag/tagSession.d.ts | TagSession | resetConnection | 新增 |
+| api/tag/tagSession.d.ts | TagSession | isConnected | 新增 |
+| api/tag/tagSession.d.ts | TagSession | setTimeout | 新增 |
+| api/tag/tagSession.d.ts | TagSession | getTimeout | 新增 |
+| api/tag/tagSession.d.ts | TagSession | transmit | 新增 |
+| api/tag/tagSession.d.ts | TagSession | getMaxTransmitSize | 新增 |
+
+**适配指导**
+
+查看API开发指南:
+[cardEmulation-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cardEmulation.md)
+
+[nfcController-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-nfcController.md)
+
+[tag-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-nfcTag.md)
+
+[TagSession-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-tagSession.md)
+```
+