提交 0aac27e4 编写于 作者: IT_newip's avatar IT_newip

Merge branch 'master' of https://gitee.com/openharmony/docs

# Standard NFC Tag # NFC Tags
The **nfcTag** module provides methods for managing Near-Field Communication (NFC) tags. The **nfcTag** module provides methods for managing Near-Field Communication (NFC) tags.
......
# Standard NFC Tag Technologies # NFC Tag Technologies
The **nfctech** module provides methods for reading and writing tags that use different Near-Field Communication (NFC) technologies. The **nfctech** module provides APIs for reading and writing tags that use different Near-Field Communication (NFC) technologies.
> **NOTE** > **NOTE**
>
> The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version. > The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
## **Modules to Import** ## **Modules to Import**
...@@ -14,7 +13,7 @@ import tag from '@ohos.nfc.tag'; ...@@ -14,7 +13,7 @@ import tag from '@ohos.nfc.tag';
## NfcATag ## NfcATag
Provides access to NFC-A (ISO 14443-3A) properties and I/O operations. **NfcATag** inherits from **TagSession**. Provides access to NFC-A (ISO 14443-3A) properties and I/O operations. This class inherits from **TagSession**.
**TagSession** is the base class of all NFC tag technologies. It provides common interfaces for establishing connections and transferring data. For more details, see [TagSession](js-apis-tagSession.md). **TagSession** is the base class of all NFC tag technologies. It provides common interfaces for establishing connections and transferring data. For more details, see [TagSession](js-apis-tagSession.md).
...@@ -74,7 +73,7 @@ console.log("atqa:" +atqa); ...@@ -74,7 +73,7 @@ console.log("atqa:" +atqa);
## NfcBTag ## NfcBTag
Provides access to NFC-B (ISO 14443-3B) properties and I/O operations. **NfcBTag** inherits from **TagSession**. Provides access to NFC-B (ISO 14443-3B) properties and I/O operations. This class inherits from **TagSession**.
**TagSession** is the base class of all NFC tag technologies. It provides common interfaces for establishing connections and transferring data. For more details, see [TagSession](js-apis-tagSession.md). **TagSession** is the base class of all NFC tag technologies. It provides common interfaces for establishing connections and transferring data. For more details, see [TagSession](js-apis-tagSession.md).
...@@ -110,7 +109,7 @@ console.log("appData:" +appData); ...@@ -110,7 +109,7 @@ console.log("appData:" +appData);
getRespProtocol(): number[] getRespProtocol(): number[]
Obtains protocol information of this NFC-B tag. Obtains the protocol information of this NFC-B tag.
**Required permissions**: ohos.permission.NFC_TAG **Required permissions**: ohos.permission.NFC_TAG
...@@ -134,7 +133,7 @@ console.log("appData:" +protocol); ...@@ -134,7 +133,7 @@ console.log("appData:" +protocol);
## NfcFTag ## NfcFTag
Provides access to NFC-F(JIS 6319-4) properties and I/O operations. **NfcFTag** inherits from **TagSession**. Provides access to NFC-F (JIS 6319-4) properties and I/O operations. This class inherits from **TagSession**.
**TagSession** is the base class of all NFC tag technologies. It provides common interfaces for establishing connections and transferring data. For more details, see [TagSession](js-apis-tagSession.md). **TagSession** is the base class of all NFC tag technologies. It provides common interfaces for establishing connections and transferring data. For more details, see [TagSession](js-apis-tagSession.md).
...@@ -144,7 +143,7 @@ The following describes the unique interfaces of **NfcFTag**. ...@@ -144,7 +143,7 @@ The following describes the unique interfaces of **NfcFTag**.
getSystemCode(): number[] getSystemCode(): number[]
Obtains the system code from the tag instance. Obtains the system code from this NFC-F tag.
**Required permissions**: ohos.permission.NFC_TAG **Required permissions**: ohos.permission.NFC_TAG
...@@ -170,7 +169,7 @@ console.log("systemCode:" +systemCode); ...@@ -170,7 +169,7 @@ console.log("systemCode:" +systemCode);
getPmm(): number[] getPmm(): number[]
Obtains the PMm (consisting of the IC code and manufacturer parameters) information from the tag instance. Obtains the PMm (consisting of the IC code and manufacturer parameters) information from this NFC-F tag.
**Required permissions**: ohos.permission.NFC_TAG **Required permissions**: ohos.permission.NFC_TAG
...@@ -194,7 +193,7 @@ console.log("pmm:" +pmm); ...@@ -194,7 +193,7 @@ console.log("pmm:" +pmm);
## NfcVTag ## NfcVTag
Provides access to NFC-V (ISO 15693) properties and I/O operations. **NfcVTag** inherits from **TagSession**. Provides access to NFC-V (ISO 15693) properties and I/O operations. This class inherits from **TagSession**.
**TagSession** is the base class of all NFC tag technologies. It provides common interfaces for establishing connections and transferring data. For more details, see [TagSession](js-apis-tagSession.md). **TagSession** is the base class of all NFC tag technologies. It provides common interfaces for establishing connections and transferring data. For more details, see [TagSession](js-apis-tagSession.md).
...@@ -204,7 +203,7 @@ The following describes the unique interfaces of **NfcVTag**. ...@@ -204,7 +203,7 @@ The following describes the unique interfaces of **NfcVTag**.
getResponseFlags(): number getResponseFlags(): number
Obtains the response flags from the tag instance. Obtains the response flags from this NFC-V tag.
**Required permissions**: ohos.permission.NFC_TAG **Required permissions**: ohos.permission.NFC_TAG
...@@ -230,7 +229,7 @@ console.log("flags:" +flags); ...@@ -230,7 +229,7 @@ console.log("flags:" +flags);
getDsfId(): number getDsfId(): number
Obtains the data storage format identifier (DSFID) from the tag instance. Obtains the data storage format identifier (DSFID) from this NFC-V tag.
**Required permissions**: ohos.permission.NFC_TAG **Required permissions**: ohos.permission.NFC_TAG
...@@ -254,7 +253,7 @@ console.log("dsfId:" +dsfId); ...@@ -254,7 +253,7 @@ console.log("dsfId:" +dsfId);
## IsoDepTag<sup>9+</sup> ## IsoDepTag<sup>9+</sup>
Provides access to ISO-DEP (ISO 14443-4) properties and I/O operations. **IsoDepTag** inherits from **TagSession**. Provides access to ISO-DEP (ISO 14443-4) properties and I/O operations. This class inherits from **TagSession**.
**TagSession** is the base class of all NFC tag technologies. It provides common interfaces for establishing connections and transferring data. For more details, see [TagSession](js-apis-tagSession.md). **TagSession** is the base class of all NFC tag technologies. It provides common interfaces for establishing connections and transferring data. For more details, see [TagSession](js-apis-tagSession.md).
...@@ -343,7 +342,7 @@ tag.getIsoDepTag(taginfo).isExtendedApduSupported().then(function (has) { ...@@ -343,7 +342,7 @@ tag.getIsoDepTag(taginfo).isExtendedApduSupported().then(function (has) {
isExtendedApduSupported(callback: AsyncCallback\<boolean>): void isExtendedApduSupported(callback: AsyncCallback\<boolean>): void
Checks whether an extended application protocol data unit (APDU) is supported. This API uses an asynchronous callback to return the result. Checks whether an extended APDU is supported. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.NFC_TAG **Required permissions**: ohos.permission.NFC_TAG
...@@ -367,7 +366,7 @@ tag.getIsoDepTag(taginfo).isExtendedApduSupported(function (error, has) { ...@@ -367,7 +366,7 @@ tag.getIsoDepTag(taginfo).isExtendedApduSupported(function (error, has) {
## NdefTag<sup>9+</sup> ## NdefTag<sup>9+</sup>
Provides access to the tags in the NFC Data Exchange Format (NDEF). **NdefTag** inherits from **TagSession**. Provides access to the tags in the NFC Data Exchange Format (NDEF). This class inherits from **TagSession**.
**TagSession** is the base class of all NFC tag technologies. It provides common interfaces for establishing connections and transferring data. For more details, see [TagSession](js-apis-tagSession.md). **TagSession** is the base class of all NFC tag technologies. It provides common interfaces for establishing connections and transferring data. For more details, see [TagSession](js-apis-tagSession.md).
...@@ -596,7 +595,7 @@ Reads the NDEF message from this tag. This API uses a promise to return the resu ...@@ -596,7 +595,7 @@ Reads the NDEF message from this tag. This API uses a promise to return the resu
| **Type**| **Description** | | **Type**| **Description** |
| ------------------ | --------------------------| | ------------------ | --------------------------|
| Promise\<[NdefMessage](#ndefmessage9)> | Promise used to return the message read.| | Promise\<[NdefMessage](#ndefmessage9)> | Promise used to return the NDEF message read.|
**Example** **Example**
...@@ -641,7 +640,7 @@ tag.NdefTag(taginfo).readNdef(function (error, ndefMessage) { ...@@ -641,7 +640,7 @@ tag.NdefTag(taginfo).readNdef(function (error, ndefMessage) {
writeNdef(msg: NdefMessage): Promise\<number>; writeNdef(msg: NdefMessage): Promise\<number>;
Write an NDEF message to this tag. This API uses a promise to return the result. Writes an NDEF message to this tag. This API uses a promise to return the result.
**Required permissions**: ohos.permission.NFC_TAG **Required permissions**: ohos.permission.NFC_TAG
...@@ -674,7 +673,7 @@ NdefTag.writeNdef(msg).then(function (netHandle) { ...@@ -674,7 +673,7 @@ NdefTag.writeNdef(msg).then(function (netHandle) {
writeNdef(msg: NdefMessage, callback: AsyncCallback\<number>): void writeNdef(msg: NdefMessage, callback: AsyncCallback\<number>): void
Write an NDEF message to this tag. This API uses an asynchronous callback to return the result. Writes an NDEF message to this tag. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.NFC_TAG **Required permissions**: ohos.permission.NFC_TAG
...@@ -728,7 +727,7 @@ tag.NdefTag(taginfo).canSetReadOnly().then(function (has) { ...@@ -728,7 +727,7 @@ tag.NdefTag(taginfo).canSetReadOnly().then(function (has) {
### NdefTag.canSetReadOnly<sup>9+</sup> ### NdefTag.canSetReadOnly<sup>9+</sup>
canSetReadOnly()(callback: AsyncCallback&lt;boolean&gt;): void; canSetReadOnly(callback: AsyncCallback&lt;boolean&gt;): void;
Checks whether this NDEF tag can be set to read-only. This API uses an asynchronous callback to return the result. Checks whether this NDEF tag can be set to read-only. This API uses an asynchronous callback to return the result.
...@@ -813,7 +812,7 @@ tag.NdefTag(taginfo).setReadOnly(function (error, errcode) { ...@@ -813,7 +812,7 @@ tag.NdefTag(taginfo).setReadOnly(function (error, errcode) {
getNdefTagTypeString(type: [NfcForumType](#nfcforumtype9)): string getNdefTagTypeString(type: [NfcForumType](#nfcforumtype9)): string
Converts the NFC Forum Type to a byte array defined in the NFC Forum. Converts an NFC Forum Type to a byte array defined in the NFC Forum.
**Required permissions**: ohos.permission.NFC_TAG **Required permissions**: ohos.permission.NFC_TAG
...@@ -852,7 +851,7 @@ let ndefTypeString= tag.NdefTag(taginfo).getNdefTagTypeString(type); ...@@ -852,7 +851,7 @@ let ndefTypeString= tag.NdefTag(taginfo).getNdefTagTypeString(type);
## MifareClassicTag <sup>9+</sup> ## MifareClassicTag <sup>9+</sup>
Provides access to MIFARE Classic properties and I/O operations. **MifareClassicTag** inherits from **TagSession**. Provides access to MIFARE Classic properties and I/O operations. This class inherits from **TagSession**.
**TagSession** is the base class of all NFC tag technologies. It provides common interfaces for establishing connections and transferring data. For more details, see [TagSession](js-apis-tagSession.md). **TagSession** is the base class of all NFC tag technologies. It provides common interfaces for establishing connections and transferring data. For more details, see [TagSession](js-apis-tagSession.md).
...@@ -928,7 +927,7 @@ tag.MifareClassicTag(taginfo).authenticateSector(sectorIndex, key, function (err ...@@ -928,7 +927,7 @@ tag.MifareClassicTag(taginfo).authenticateSector(sectorIndex, key, function (err
readSingleBlock(blockIndex: number): Promise\<string> readSingleBlock(blockIndex: number): Promise\<string>
Reads a block on the tag. The size of a block is 16 bytes. This API uses a promise to return the result. Reads a block (16 bytes) on the tag. This API uses a promise to return the result.
**Required permissions**: ohos.permission.NFC_TAG **Required permissions**: ohos.permission.NFC_TAG
...@@ -962,7 +961,7 @@ tag.MifareClassicTag(taginfo).readSingleBlock(blockIndex).then(function (data){ ...@@ -962,7 +961,7 @@ tag.MifareClassicTag(taginfo).readSingleBlock(blockIndex).then(function (data){
readSingleBlock(blockIndex: number, callback: AsyncCallback\<string>): void readSingleBlock(blockIndex: number, callback: AsyncCallback\<string>): void
Reads a block on the tag. The size of a block is 16 bytes. This API uses an asynchronous callback to return the result. Reads a block (16 bytes) on the tag. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.NFC_TAG **Required permissions**: ohos.permission.NFC_TAG
...@@ -992,7 +991,7 @@ tag.MifareClassicTag(taginfo).readSingleBlock(blockIndex, function (error, data) ...@@ -992,7 +991,7 @@ tag.MifareClassicTag(taginfo).readSingleBlock(blockIndex, function (error, data)
writeSingleBlock(blockIndex: number, data: string): Promise\<number> writeSingleBlock(blockIndex: number, data: string): Promise\<number>
Writes data to a block on the tag. The size of a block is 16 bytes. This API uses a promise to return the result. Writes data to a block on the tag. This API uses a promise to return the result.
**Required permissions**: ohos.permission.NFC_TAG **Required permissions**: ohos.permission.NFC_TAG
...@@ -1027,7 +1026,7 @@ tag.MifareClassicTag(taginfo).writeSingleBlock(blockIndex, data).then(function ( ...@@ -1027,7 +1026,7 @@ tag.MifareClassicTag(taginfo).writeSingleBlock(blockIndex, data).then(function (
writeSingleBlock(blockIndex: number, data: string, callback: AsyncCallback\<number>): void writeSingleBlock(blockIndex: number, data: string, callback: AsyncCallback\<number>): void
Writes data to a block on the tag. The size of a block is 16 bytes. This API uses an asynchronous callback to return the result. Writes data to a block on the tag. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.NFC_TAG **Required permissions**: ohos.permission.NFC_TAG
...@@ -1427,10 +1426,10 @@ let size = tag.MifareClassicTag(taginfo).getTagSize(); ...@@ -1427,10 +1426,10 @@ let size = tag.MifareClassicTag(taginfo).getTagSize();
| **Name**| **Value**| **Description**| | **Name**| **Value**| **Description**|
| -------- | -------- | -------- | | -------- | -------- | -------- |
| MC_SIZE_MINI | 320 | Each tag has five sectors, and each sector has four blocks.| | MC_SIZE_MINI | 320 | Each tag has 5 sectors, and each sector has 4 blocks.|
| MC_SIZE_1K | 1024 | Each tag has 16 sectors, and each sector has four blocks.| | MC_SIZE_1K | 1024 | Each tag has 16 sectors, and each sector has 4 blocks.|
| MC_SIZE_2K | 2048 | Each tag has 32 sectors, and each sector has four blocks.| | MC_SIZE_2K | 2048 | Each tag has 32 sectors, and each sector has 4 blocks.|
| MC_SIZE_4K | 4096 | Each tag has 40 sectors, and each sector has four blocks.| | MC_SIZE_4K | 4096 | Each tag has 40 sectors, and each sector has 4 blocks.|
### MifareClassicTag.isEmulatedTag<sup>9+</sup> ### MifareClassicTag.isEmulatedTag<sup>9+</sup>
...@@ -1521,7 +1520,7 @@ let index = tag.MifareClassicTag(taginfo).getSectorIndex(blockIndex); ...@@ -1521,7 +1520,7 @@ let index = tag.MifareClassicTag(taginfo).getSectorIndex(blockIndex);
## MifareUltralightTag<sup>9+</sup> ## MifareUltralightTag<sup>9+</sup>
Provides access to MIFARE Ultralight properties and I/O operations. **MifareUltralightTag** inherits from **TagSession**. Provides access to MIFARE Ultralight properties and I/O operations. This class inherits from **TagSession**.
**TagSession** is the base class of all NFC tag technologies. It provides common interfaces for establishing connections and transferring data. For more details, see [TagSession](js-apis-tagSession.md). **TagSession** is the base class of all NFC tag technologies. It provides common interfaces for establishing connections and transferring data. For more details, see [TagSession](js-apis-tagSession.md).
...@@ -1531,7 +1530,7 @@ The following describes the unique interfaces of **MifareUltralightTag**. ...@@ -1531,7 +1530,7 @@ The following describes the unique interfaces of **MifareUltralightTag**.
readMultiplePages(pageIndex: number): Promise\<string> readMultiplePages(pageIndex: number): Promise\<string>
Reads multiple pages. The size of each page is 4 bytes. This API uses a promise to return the result. Reads multiple pages (4 bytes per page). This API uses a promise to return the result.
**Required permissions**: ohos.permission.NFC_TAG **Required permissions**: ohos.permission.NFC_TAG
...@@ -1565,7 +1564,7 @@ tag.MifareUltralightTag(taginfo).readMultiplePages(pageIndex).then(function (dat ...@@ -1565,7 +1564,7 @@ tag.MifareUltralightTag(taginfo).readMultiplePages(pageIndex).then(function (dat
readMultiplePages(pageIndex: number, callback: AsyncCallback\<string>): void readMultiplePages(pageIndex: number, callback: AsyncCallback\<string>): void
Reads multiple pages. The size of each page is 4 bytes. This API uses an asynchronous callback to return the result. Reads multiple pages (4 bytes per page). This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.NFC_TAG **Required permissions**: ohos.permission.NFC_TAG
...@@ -1594,7 +1593,7 @@ tag.MifareUltralightTag(taginfo).readMultiplePages(pageIndex, function (error, d ...@@ -1594,7 +1593,7 @@ tag.MifareUltralightTag(taginfo).readMultiplePages(pageIndex, function (error, d
writeSinglePages(pageIndex: number, data: string): Promise\<number> writeSinglePages(pageIndex: number, data: string): Promise\<number>
Writes a page of data. The size of each page is 4 bytes. This API uses a promise to return the result. Writes a page of data. This API uses a promise to return the result.
**Required permissions**: ohos.permission.NFC_TAG **Required permissions**: ohos.permission.NFC_TAG
...@@ -1628,7 +1627,7 @@ tag.MifareUltralightTag(taginfo).writeSinglePages(pageIndex, data).then(function ...@@ -1628,7 +1627,7 @@ tag.MifareUltralightTag(taginfo).writeSinglePages(pageIndex, data).then(function
writeSinglePages(pageIndex: number, data: string, callback: AsyncCallback\<number>): void writeSinglePages(pageIndex: number, data: string, callback: AsyncCallback\<number>): void
Writes a page of data. The size of each page is 4 bytes. This API uses an asynchronous callback to return the result. Writes a page of data. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.NFC_TAG **Required permissions**: ohos.permission.NFC_TAG
...@@ -1658,7 +1657,7 @@ tag.MifareUltralightTag(taginfo).writeSinglePages(pageIndex, data, function (err ...@@ -1658,7 +1657,7 @@ tag.MifareUltralightTag(taginfo).writeSinglePages(pageIndex, data, function (err
getType(): MifareUltralightType getType(): MifareUltralightType
Obtains the MIFARE Ultralight tag type, in bytes. For details, see [MifareUltralightType](#mifareultralighttype9). Obtains the MIFARE Ultralight tag type, in bytes.
**Required permissions**: ohos.permission.NFC_TAG **Required permissions**: ohos.permission.NFC_TAG
...@@ -1689,7 +1688,7 @@ let type = tag.MifareUltralightType(taginfo).getType(); ...@@ -1689,7 +1688,7 @@ let type = tag.MifareUltralightType(taginfo).getType();
## NdefFormatableTag<sup>9+</sup> ## NdefFormatableTag<sup>9+</sup>
Provides methods for operating NDEF formattable tags. **NdefFormatableTag** inherits from **TagSession**. Provides APIs for operating NDEF formattable tags. This class inherits from **TagSession**.
**TagSession** is the base class of all NFC tag technologies. It provides common interfaces for establishing connections and transferring data. For more details, see [TagSession](js-apis-tagSession.md). **TagSession** is the base class of all NFC tag technologies. It provides common interfaces for establishing connections and transferring data. For more details, see [TagSession](js-apis-tagSession.md).
...@@ -1709,7 +1708,7 @@ Formats this tag as an NDEF tag, and writes an NDEF message to the tag. This API ...@@ -1709,7 +1708,7 @@ Formats this tag as an NDEF tag, and writes an NDEF message to the tag. This API
| Name | Type | Mandatory| Description | | Name | Type | Mandatory| Description |
| -------- | ----------------------- | ---- | -------------------------------------- | | -------- | ----------------------- | ---- | -------------------------------------- |
| message | [NdefMessage](#ndefmessage9) | Yes | NDEF message to write when the formatting is successful. If it is **null**, the tag is formatted only and no data will be written.| | message | [NdefMessage](#ndefmessage9) | Yes | NDEF message to write when the formatting is successful. If this parameter is **null**, the tag is formatted only (no data will be written).|
**Return value** **Return value**
...@@ -1742,8 +1741,8 @@ Formats this tag as an NDEF tag, and writes an NDEF message to the tag. This API ...@@ -1742,8 +1741,8 @@ Formats this tag as an NDEF tag, and writes an NDEF message to the tag. This API
| Name | Type | Mandatory| Description | | Name | Type | Mandatory| Description |
| -------- | ----------------------- | ---- | -------------------------------------- | | -------- | ----------------------- | ---- | -------------------------------------- |
| message | [NdefMessage](#ndefmessage9) | Yes | NDEF message to write when the formatting is successful. If it is **null**, the tag is formatted only and no data will be written.| | message | [NdefMessage](#ndefmessage9) | Yes | NDEF message to write when the formatting is successful. If this parameter is **null**, the tag is formatted only.|
| callback: AsyncCallback\<number> | Callback invoked to return the result.| | callback | AsyncCallback\<number> |Yes|Callback invoked to return the result.|
**Example** **Example**
...@@ -1771,7 +1770,7 @@ Formats this tag as an NDEF tag, writes an NDEF message to the NDEF tag, and the ...@@ -1771,7 +1770,7 @@ Formats this tag as an NDEF tag, writes an NDEF message to the NDEF tag, and the
| Name | Type | Mandatory| Description | | Name | Type | Mandatory| Description |
| -------- | ----------------------- | ---- | -------------------------------------- | | -------- | ----------------------- | ---- | -------------------------------------- |
| message | [NdefMessage](#ndefmessage9) | Yes | NDEF message to write when the formatting is successful. If it is **null**, the tag is formatted only and no data will be written.| | message | [NdefMessage](#ndefmessage9) | Yes | NDEF message to write when the formatting is successful. If this parameter is **null**, the tag is formatted only (no data will be written).|
**Return value** **Return value**
...@@ -1804,8 +1803,8 @@ Formats this tag as an NDEF tag, writes an NDEF message to the NDEF tag, and the ...@@ -1804,8 +1803,8 @@ Formats this tag as an NDEF tag, writes an NDEF message to the NDEF tag, and the
| Name | Type | Mandatory| Description | | Name | Type | Mandatory| Description |
| -------- | ----------------------- | ---- | -------------------------------------- | | -------- | ----------------------- | ---- | -------------------------------------- |
| message | [NdefMessage](#ndefmessage9) | Yes | NDEF message to write when the formatting is successful. If it is **null**, the tag is formatted only and no data will be written.| | message | [NdefMessage](#ndefmessage9) | Yes | NDEF message to write when the formatting is successful. If this parameter is **null**, the tag is formatted only.|
| callback: AsyncCallback\<number> | Callback invoked to return the result.| | callback | AsyncCallback\<number> |Yes|Callback invoked to return the result.|
**Example** **Example**
......
# Standard NFC Tag Session # NFC Tag Session
The **tagSession** module provides common APIs for establishing connections and transferring data. The **tagSession** module provides common APIs for establishing connections and transferring data.
> **NOTE** > **NOTE**<br>
>
> The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version. > The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
## **Modules to Import** ## **Modules to Import**
...@@ -18,7 +17,7 @@ Provides common APIs for establishing connections and transferring data. **tagSe ...@@ -18,7 +17,7 @@ Provides common APIs for establishing connections and transferring data. **tagSe
A child class instance is required to access the following interfaces. You can use **get**XX**Tag()** to obtain a child class instance. A child class instance is required to access the following interfaces. You can use **get**XX**Tag()** to obtain a child class instance.
The specific method varies with the NFC tag technology in use. For details, see [nfcTag](js-apis-nfcTag.md). The specific API varies with the NFC tag technology in use. For details, see [NFC Tags](js-apis-nfcTag.md).
### tagSession.connectTag ### tagSession.connectTag
...@@ -26,7 +25,7 @@ connectTag(): boolean; ...@@ -26,7 +25,7 @@ connectTag(): boolean;
Connects to this tag. Connects to this tag.
Call this method to set up a connection before reading data from or writing data to a tag. Call this API to set up a connection before reading data from or writing data to a tag.
**Required permissions**: ohos.permission.NFC_TAG **Required permissions**: ohos.permission.NFC_TAG
...@@ -95,7 +94,7 @@ Checks whether the tag is connected. ...@@ -95,7 +94,7 @@ Checks whether the tag is connected.
```js ```js
import tag from '@ohos.nfc.tag'; import tag from '@ohos.nfc.tag';
// tagInfo is an Object given by nfc service when tag is dispatched. // tagInfo is an object given by the NFC service when a tag is dispatched.
let isTagConnected = tag.getXXXTag(taginfo).isTagConnected(); let isTagConnected = tag.getXXXTag(taginfo).isTagConnected();
console.log("isTagConnected:" +isTagConnected); console.log("isTagConnected:" +isTagConnected);
``` ```
......
...@@ -4,33 +4,33 @@ ...@@ -4,33 +4,33 @@
### Function ### Function
The motion recognition module provides motion recognition and control capabilities. Currently, OpenHarmony supports recognition of pick-up, flip, shake, and rotation. The motion module provides motion recognition and control capabilities. Currently, OpenHarmony supports recognition of pick-up, flip, shake, and rotation.
The motion recognition driver is developed based on the hardware driver foundation (HDF). It shields hardware differences and provides APIs for the Multimodal Sensor Data Platform (MSDP) to implement capabilities such as enabling or disabling motion recognition, and subscribing to or unsubscribing from motion recognition data. The motion driver is developed based on the hardware driver foundation (HDF). It shields hardware differences and provides APIs for the Multimodal Sensor Data Platform (MSDP) to implement capabilities such as enabling or disabling motion recognition, and subscribing to or unsubscribing from motion recognition data.
The figure below shows the motion recognition driver architecture. The framework layer provides MSDP services, and interacts with the Motion Stub through the Motion Proxy in the User Hardware Driver Foundation (UHDF). The Motion Stub calls the Motion HDI Impl APIs to provide motion recognition capabilities for upper-layer services. The figure below shows the motion driver architecture. The framework layer provides MSDP services, and interacts with the Motion Stub through the Motion Proxy in the User Hardware Driver Foundation (UHDF). The Motion Stub calls the Motion HDI Impl APIs to provide motion recognition capabilities for upper-layer services.
**Figure 1** Motion recognition driver architecture **Figure 1** Motion driver architecture
![](figures/motion_recognition_driver_architecture.png) ![](figures/motion_driver_architecture.png)
### Working Principles ### Working Principles
The figure below illustrates how a motion recognition driver works. The figure below illustrates how a motion driver works.
**Figure 2** How a motion recognition driver works **Figure 2** How a motion driver works
![](figures/motion_recognition_driver_work.png) ![](figures/motion_driver_work.png)
1. MSDP: The MSDP service obtains a Motion HDI service instance from the Motion Proxy and calls the Motion HDI API. 1. MSDP: The MSDP service obtains a Motion HDI service instance from the Motion Proxy and calls the Motion HDI API.
2. IDL: The IService Manager allocates a Motion HDI instance requested by the MSDP service, and the Motion Proxy forwards the instance to the MSDP service. After the MSDP service calls the HDI API provided by the Motion Proxy, Motion Stub is called through Inter-Process Communication (IPC) to invoke the Motion Service API. The code is automatically generated by a tool and does not need to be developed by the component vendor. 2. IDL: The IService Manager allocates a Motion HDI instance requested by the MSDP service, and the Motion Proxy forwards the instance to the MSDP service. After the MSDP service calls the HDI API provided by the Motion Proxy, Motion Stub is called through Inter-Process Communication (IPC) to invoke the Motion Service API. The code is automatically generated by a tool and does not need to be developed by the component vendor.
3. HDI Service: HDI Service consists of Motion Interface Driver, Motion Service, and Motion Impl. Motion Interface Driver provides the motion recognition driver code. A **HdfDriverEntry** structure is defined to implement the **Init**, **Bind**, and **Release** functions. The **HDF_INIT** macro is used to load the driver in the functions. Motion Service provides the motion recognition service interface class. The specific implementation is described in Motion Impl. The code of HDI Service must be developed by the component vendor. 3. HDI Service: HDI Service consists of Motion Interface Driver, Motion Service, and Motion Impl. Motion Interface Driver provides the motion driver code. A **HdfDriverEntry** structure is defined to implement the **Init**, **Bind**, and **Release** functions. The **HDF_INIT** macro is used to load the driver in the functions. Motion Service provides the motion recognition service interface class. The specific implementation is described in Motion Impl. The code of HDI Service must be developed by the component vendor.
## Development Guidelines ## Development Guidelines
### When to Use ### When to Use
The motion recognition driver provides capabilities for the MSDP service to enable or disable motion recognition and subscribe to or unsubscribe from motion recognition data. It can be used for motion recognition when a user picks up, flips, shakes, and rotates a device. The motion driver provides capabilities for the MSDP service to enable or disable motion recognition and subscribe to or unsubscribe from motion recognition data. It can be used for motion recognition when a user picks up, flips, shakes, and rotates a device.
### Available APIs ### Available APIs
...@@ -59,7 +59,7 @@ The motion recognition directory structure is as follows: ...@@ -59,7 +59,7 @@ The motion recognition directory structure is as follows:
│ └── unittest\hdi # HDI unit test code for the motion recognition module. │ └── unittest\hdi # HDI unit test code for the motion recognition module.
``` ```
The following describes how to develop a user-mode motion recognition driver based on the HDF. For details, see [motion_interface_driver.cpp](https://gitee.com/openharmony/drivers_peripheral/blob/master/motion/hdi_service/motion_interface_driver.cpp). The following describes how to develop a user-mode motion driver based on the HDF. For details, see [motion_interface_driver.cpp](https://gitee.com/openharmony/drivers_peripheral/blob/master/motion/hdi_service/motion_interface_driver.cpp).
To develop the user-mode driver for motion recognition, implement the **Bind**, **Init**, **Release**, and **Dispatch** functions. The **Bind** function provides service capabilities. The **Init** function initializes the driver before the driver is loaded. The **Release** function releases resources when the **Init** function fails. To develop the user-mode driver for motion recognition, implement the **Bind**, **Init**, **Release**, and **Dispatch** functions. The **Bind** function provides service capabilities. The **Init** function initializes the driver before the driver is loaded. The **Release** function releases resources when the **Init** function fails.
...@@ -99,7 +99,7 @@ int HdfMotionInterfaceDriverInit(struct HdfDeviceObject *deviceObject) ...@@ -99,7 +99,7 @@ int HdfMotionInterfaceDriverInit(struct HdfDeviceObject *deviceObject)
return HDF_SUCCESS; return HDF_SUCCESS;
} }
// Bind the services provided by the motion recognition driver to the HDF. // Bind the services provided by the motion driver to the HDF.
int HdfMotionInterfaceDriverBind(struct HdfDeviceObject *deviceObject) int HdfMotionInterfaceDriverBind(struct HdfDeviceObject *deviceObject)
{ {
HDF_LOGI("HdfMotionInterfaceDriverBind enter"); HDF_LOGI("HdfMotionInterfaceDriverBind enter");
...@@ -131,7 +131,7 @@ int HdfMotionInterfaceDriverBind(struct HdfDeviceObject *deviceObject) ...@@ -131,7 +131,7 @@ int HdfMotionInterfaceDriverBind(struct HdfDeviceObject *deviceObject)
return HDF_SUCCESS; return HDF_SUCCESS;
} }
// Release the resources used by the motion recognition driver. // Release the resources used by the motion driver.
void HdfMotionInterfaceDriverRelease(struct HdfDeviceObject *deviceObject) void HdfMotionInterfaceDriverRelease(struct HdfDeviceObject *deviceObject)
{ {
HDF_LOGI("HdfMotionInterfaceDriverRelease enter"); HDF_LOGI("HdfMotionInterfaceDriverRelease enter");
......
...@@ -4,6 +4,20 @@ ...@@ -4,6 +4,20 @@
- [Compilation and Building Guide](subsys-build-all.md) - [Compilation and Building Guide](subsys-build-all.md)
- [Build System Coding Specifications and Best Practices](subsys-build-gn-coding-style-and-best-practice.md) - [Build System Coding Specifications and Best Practices](subsys-build-gn-coding-style-and-best-practice.md)
- [Building the Kconfig Visual Configuration](subsys-build-gn-kconfig-visual-config-guide.md) - [Building the Kconfig Visual Configuration](subsys-build-gn-kconfig-visual-config-guide.md)
- Related Operations
- [Building a Product](subsys-build-product.md)
- [Building a Subsystem](subsys-build-subsystem.md)
- [Building a Component](subsys-build-component.md)
- [Building a Module](subsys-build-module.md)
- [Building a Chipset Solution](subsys-build-chip_solution.md)
- [Configuring Features](subsys-build-feature.md)
- [Configuring System Capabilities](subsys-build-syscap.md)
- [Setting deps and external_deps](subsys-build-reference.md#deps-and-external_deps)
- [Information Collected by the Open Source Software Notice](subsys-build-reference.md#information-collected-by-the-open-source-software-notice)
- [Configuring Parameters for Accelerating Local Build](subsys-build-reference.md#parameters-for-accelerating-local-build)
- [Viewing Ninja Build Information](subsys-build-reference.md#viewing-ninja-build-information)
- [HAP Build Guide](subsys-build-gn-hap-compilation-guide.md)
- [FAQs](subsys-build-FAQ.md)
- [Distributed Remote Startup](subsys-remote-start.md) - [Distributed Remote Startup](subsys-remote-start.md)
- Graphics - Graphics
- [Graphics Overview](subsys-graphics-overview.md) - [Graphics Overview](subsys-graphics-overview.md)
...@@ -70,6 +84,7 @@ ...@@ -70,6 +84,7 @@
- [Development on Application Permission Management](subsys-security-rightmanagement.md) - [Development on Application Permission Management](subsys-security-rightmanagement.md)
- [Development on IPC Authentication](subsys-security-communicationverify.md) - [Development on IPC Authentication](subsys-security-communicationverify.md)
- [Development on Device Security Level Management](subsys-security-devicesecuritylevel.md) - [Development on Device Security Level Management](subsys-security-devicesecuritylevel.md)
- [Development on HUKS](subsys-security-huks-guide.md)
- Startup - Startup
- [Startup](subsys-boot-overview.md) - [Startup](subsys-boot-overview.md)
- init Module - init Module
......
此差异已折叠。
...@@ -4,17 +4,14 @@ ...@@ -4,17 +4,14 @@
HUAWEI DevEco Studio For OpenHarmony(以下简称DevEco Studio)是基于IntelliJ IDEA Community开源版本打造,面向OpenHarmony全场景多设备的一站式集成开发环境(IDE),为开发者提供工程模板创建、开发、编译、调试、发布等E2E的OpenHarmony应用/服务开发。 HUAWEI DevEco Studio For OpenHarmony(以下简称DevEco Studio)是基于IntelliJ IDEA Community开源版本打造,面向OpenHarmony全场景多设备的一站式集成开发环境(IDE),为开发者提供工程模板创建、开发、编译、调试、发布等E2E的OpenHarmony应用/服务开发。
[DevEco Studio 3.0 Beta3](https://developer.harmonyos.com/cn/develop/deveco-studio#download_beta_openharmony) 作为支撑OpenHarmony应用和服务开发的IDE,具有以下能力特点: [DevEco Studio](https://developer.harmonyos.com/cn/develop/deveco-studio/) 作为支撑OpenHarmony应用和服务开发的IDE,具有以下能力特点:
- 支持一站式的信息获取平台 - **高效智能代码编辑**:支持eTS、JavaScript、C/C++等语言的代码高亮、代码智能补齐、代码错误检查、代码自动跳转、代码格式化、代码查找等功能,提升代码编写效率。更多详细信息,请参考[编辑器使用技巧](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-editor-usage-tips-0000001263360493)
- 提供多设备工程模板 - **低代码可视化开发**:丰富的UI界面编辑能力,支持自由拖拽组件和可视化数据绑定,可快速预览效果,所见即所得;同时支持卡片的零代码开发,降低开发门槛和提升界面开发效率。更多详细信息,请参考使用[低代码开发应用/服务](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-low-code-development-0000001218440652)
- 高效的代码编辑 - **多端双向实时预览**:支持UI界面代码的双向预览、实时预览、动态预览、组件预览以及多端设备预览,便于快速查看代码运行效果。更多详细信息,请参考[使用预览器预览应用/服务界面效果](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-previewing-app-service-0000001218760596)
- 支持可视化的界面UI开发 - **全新构建体系**:通过Hvigor编译构建工具,一键完成应用及服务的编译和打包,更好地支持eTS/JS开发。
- 双向、极速的界面UI预览 - **一站式信息获取**:基于开发者了解、学习、开发、求助的用户旅程,在DevEco Studio中提供一站式的信息获取平台,高效支撑开发者活动。
- 全新的编译工具Hvigor - **高效代码调试**:提供TS、JS 、C/C++代码的断点设置,单步执行、变量查看等调试能力,提升应用及服务的问题分析效率。
- 支持基于设备系统能力集Syscap进行应用开发
- 支持全自动化的应用签名机制
- 丰富的代码调试调优能力
更多工具体验和使用指导请见:[DevEco Studio (OpenHarmony) 使用指南](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-deveco-studio-overview-0000001263280421) 更多工具体验和使用指导请见:[DevEco Studio (OpenHarmony) 使用指南](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-deveco-studio-overview-0000001263280421)
...@@ -433,7 +433,7 @@ ws.off('open', callback1); ...@@ -433,7 +433,7 @@ ws.off('open', callback1);
on\(type: 'message', callback: AsyncCallback<string | ArrayBuffer\>\): void on\(type: 'message', callback: AsyncCallback<string | ArrayBuffer\>\): void
订阅WebSocket的接收到服务器消息事件,使用callback方式作为异步方法。 订阅WebSocket的接收到服务器消息事件,使用callback方式作为异步方法。每个消息最大长度为4K,超过4K自动分片。
>![](public_sys-resources/icon-note.gif) **说明:** >![](public_sys-resources/icon-note.gif) **说明:**
>AsyncCallback中的数据可以是字符串\(API 6\)或ArrayBuffer\(API 8\)。 >AsyncCallback中的数据可以是字符串\(API 6\)或ArrayBuffer\(API 8\)。
......
...@@ -61,7 +61,7 @@ GridRow(option?: {columns?: number | GridRowColumnOption, gutter?: Length | Gutt ...@@ -61,7 +61,7 @@ GridRow(option?: {columns?: number | GridRowColumnOption, gutter?: Length | Gutt
| 参数名 | 参数类型 | 必填 | 参数描述 | | 参数名 | 参数类型 | 必填 | 参数描述 |
| ----- | ------ | ---- | ---------------------------------------- | | ----- | ------ | ---- | ---------------------------------------- |
| value | Array&lt;string&gt; | 否 | 设置断点位置的单调递增数组。<br>默认值:["320vp", "520vp", "840vp"] | | value | Array&lt;string&gt; | 否 | 设置断点位置的单调递增数组。<br>默认值:["320vp", "520vp", "840vp"] |
| reference | BreakpointsReference | 否 | 竖直gutter option。 | | reference | BreakpointsReference | 否 | 断点切换参照物。 |
```ts ```ts
// 启用xs、sm、md共3个断点 // 启用xs、sm、md共3个断点
breakpoints: {value: ["100vp", "200vp"]} breakpoints: {value: ["100vp", "200vp"]}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册