有源標(biāo)簽

2024-01-23 16:48 更新

本模塊提供有源標(biāo)簽的使用,包括初始化有源標(biāo)簽芯片、讀取有源標(biāo)簽內(nèi)容、寫入內(nèi)容到有源標(biāo)簽等。

說明

本模塊首批接口從API version 8開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。

導(dǎo)入模塊

  1. import connectedTag from '@ohos.connectedTag';

connectedTag.init

init(): boolean

初始化有源標(biāo)簽芯片。

需要權(quán)限:ohos.permission.NFC_TAG

系統(tǒng)能力:SystemCapability.Communication.ConnectedTag

返回值:

類型

說明

boolean

true:初始化成功, false:初始化失敗。

connectedTag.uninit

uninit(): boolean

卸載有源標(biāo)簽芯片資源。

需要權(quán)限:ohos.permission.NFC_TAG

系統(tǒng)能力:SystemCapability.Communication.ConnectedTag

返回值:

類型

說明

boolean

true:卸載操作成功, false:卸載操作失敗。

connectedTag.readNdefTag

readNdefTag(): Promise<string>

讀取有源標(biāo)簽內(nèi)容,使用promise方式作為異步方法。

需要權(quán)限:ohos.permission.NFC_TAG

系統(tǒng)能力:SystemCapability.Communication.ConnectedTag

返回值:

類型

說明

Promise<string>

返回讀取有源標(biāo)簽內(nèi)容。

示例:

  1. import connectedTag from '@ohos.connectedTag';
  2. connectedTag.readNdefTag().then((data) => {
  3. console.log("connectedTag readNdefTag Promise data = " + data);
  4. }).catch((err)=> {
  5. console.log("connectedTag readNdefTag Promise err: " + err);
  6. });

connectedTag.readNdefTag

readNdefTag(callback: AsyncCallback<string>): void

讀取有源標(biāo)簽內(nèi)容,使用AsyncCallback方式作為異步方法。

需要權(quán)限:ohos.permission.NFC_TAG

系統(tǒng)能力:SystemCapability.Communication.ConnectedTag

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<string>

讀取有源標(biāo)簽內(nèi)容回調(diào)函數(shù)。

示例:

  1. import connectedTag from '@ohos.connectedTag';
  2. connectedTag.readNdefTag((err, data)=> {
  3. if (err) {
  4. console.log("connectedTag readNdefTag AsyncCallback err: " + err);
  5. } else {
  6. console.log("connectedTag readNdefTag AsyncCallback data: " + data);
  7. }
  8. });

connectedTag.writeNdefTag

writeNdefTag(data: string): Promise<void>

寫入內(nèi)容到有源標(biāo)簽,使用promise方式作為異步方法。

需要權(quán)限:ohos.permission.NFC_TAG

系統(tǒng)能力:SystemCapability.Communication.ConnectedTag

參數(shù):

參數(shù)名

類型

必填

說明

data

string

有源標(biāo)簽內(nèi)容, 長(zhǎng)度最大是1024個(gè)字節(jié)。

返回值:

類型

說明

Promise<void>

無返回值。

示例:

  1. import connectedTag from '@ohos.connectedTag';
  2. var rawData = "010203"; // change it tobe correct.
  3. connectedTag.writeNdefTag(rawData).then(() => {
  4. console.log("connectedTag writeNdefTag Promise success.");
  5. }).catch((err)=> {
  6. console.log("connectedTag writeNdefTag Promise err: " + err);
  7. });

connectedTag.writeNdefTag

writeNdefTag(data: string, callback: AsyncCallback<void>): void

寫入內(nèi)容到有源標(biāo)簽,使用AsyncCallback方式作為異步方法。

需要權(quán)限:ohos.permission.NFC_TAG

系統(tǒng)能力:SystemCapability.Communication.ConnectedTag

參數(shù):

參數(shù)名

類型

必填

說明

data

string

有源標(biāo)簽內(nèi)容, 長(zhǎng)度最大是1024個(gè)字節(jié)。

callback

AsyncCallback<void>

讀取有源標(biāo)簽內(nèi)容回調(diào)函數(shù)。

示例:

  1. import connectedTag from '@ohos.connectedTag';
  2. var rawData = "010203"; // change it tobe correct.
  3. connectedTag.writeNdefTag(rawData, (err)=> {
  4. if (err) {
  5. console.log("connectedTag writeNdefTag AsyncCallback err: " + err);
  6. } else {
  7. console.log("connectedTag writeNdefTag AsyncCallback success.");
  8. }
  9. });

connectedTag.on('notify')

on(type: "notify", callback: Callback<number>): void

注冊(cè)NFC場(chǎng)強(qiáng)狀態(tài)事件。

需要權(quán)限:ohos.permission.NFC_TAG

系統(tǒng)能力:SystemCapability.Communication.ConnectedTag

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"notify"字符串

callback

Callback<number>

狀態(tài)改變回調(diào)函數(shù),返回值參見NfcRfType。

connectedTag.off('notify')

off(type: "notify", callback?: Callback<number>): void

取消NFC場(chǎng)強(qiáng)狀態(tài)事件的注冊(cè)。

需要權(quán)限:ohos.permission.NFC_TAG

系統(tǒng)能力:SystemCapability.Communication.ConnectedTag

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"notify"字符串

callback

Callback<number>

狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將“去注冊(cè)”該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。

示例:

  1. import connectedTag from '@ohos.connectedTag';
  2. // Register event
  3. connectedTag.on("notify", (err, rfState)=> {
  4. if (err) {
  5. console.log("connectedTag on Callback err: " + err);
  6. } else {
  7. console.log("connectedTag on Callback rfState: " + rfState);
  8. }
  9. });
  10. var initStatus = connectedTag.init();
  11. console.log("connectedTag init status: " + initStatus);
  12. // Add nfc connecected tag business oprations here...
  13. // connectedTag.writeNdefTag(rawData)
  14. // connectedTag.readNdefTag()
  15. var uninitStatus = connectedTag.uninit();
  16. console.log("connectedTag uninit status: " + uninitStatus);
  17. // Unregister event
  18. connectedTag.off("notify", (err, rfState)=> {
  19. if (err) {
  20. console.log("connectedTag off Callback err: " + err);
  21. } else {
  22. console.log("connectedTag off Callback rfState: " + rfState);
  23. }
  24. });

NfcRfType

表示NFC場(chǎng)強(qiáng)狀態(tài)的枚舉。

系統(tǒng)能力:SystemCapability.Communication.ConnectedTag

名稱

說明

NFC_RF_LEAVE

0

NFC離場(chǎng)事件

NFC_RF_ENTER

1

NFC進(jìn)場(chǎng)事件

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)