> 技术文档 > 【鸿蒙next开发】短距离通信开发:@ohos.connectedTag (有源标签)

【鸿蒙next开发】短距离通信开发:@ohos.connectedTag (有源标签)


 往期鸿蒙5.0全套实战文章必看:(文中附带鸿蒙5.0全栈学习资料)

  • 鸿蒙开发核心知识点,看这篇文章就够了

  • 最新版!鸿蒙HarmonyOS Next应用开发实战学习路线

  • 鸿蒙HarmonyOS NEXT开发技术最全学习路线指南

  • 鸿蒙应用开发实战项目,看这一篇文章就够了(部分项目附源码)


@ohos.connectedTag (有源标签)

本模块提供有源标签的使用,包括初始化有源标签芯片、读取有源标签内容、写入内容到有源标签等。

说明

本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import { connectedTag } from \'@kit.ConnectivityKit\';

connectedTag.init

init(): boolean

初始化有源标签芯片。

说明

从 API version 8 开始支持,从 API version 9 开始废弃,建议使用initialize替代。

需要权限:ohos.permission.NFC_TAG

系统能力:SystemCapability.Communication.ConnectedTag

返回值:

类型 说明 boolean true:初始化成功, false:初始化失败。

connectedTag.initialize9+

initialize(): void

初始化有源标签芯片。

需要权限: ohos.permission.NFC_TAG

系统能力: SystemCapability.Communication.ConnectedTag

错误码:

以下错误码的详细介绍。

错误码ID 错误信息 201 Permission denied. 801 Capability not supported. 3200101 Connected NFC tag running state is abnormal in service.

connectedTag.uninit

uninit(): boolean

卸载有源标签芯片资源。

需要权限:ohos.permission.NFC_TAG

系统能力:SystemCapability.Communication.ConnectedTag

返回值:

类型 说明 boolean true:卸载操作成功, false:卸载操作失败。

connectedTag.uninitialize9+

uninitialize(): void

卸载有源标签芯片资源。

需要权限: ohos.permission.NFC_TAG

系统能力: SystemCapability.Communication.ConnectedTag

错误码:

以下错误码的详细介绍。

错误码ID 错误信息 201 Permission denied. 801 Capability not supported. 3200101 Connected NFC tag running state is abnormal in service.

connectedTag.readNdefTag

readNdefTag(): Promise

读取有源标签内容,使用promise方式作为异步方法。

需要权限:ohos.permission.NFC_TAG

系统能力:SystemCapability.Communication.ConnectedTag

返回值:

类型 说明 Promise 返回读取有源标签内容。

示例:

import { connectedTag } from \'@kit.ConnectivityKit\';import { BusinessError } from \'@kit.BasicServicesKit\';connectedTag.readNdefTag().then((data) => { console.log(\"connectedTag readNdefTag Promise data = \" + data);}).catch((err: BusinessError)=> { console.log(\"connectedTag readNdefTag Promise err: \" + err);});

connectedTag.read9+

read(): Promise

读取有源标签内容,使用promise方式作为异步方法。

需要权限: ohos.permission.NFC_TAG

系统能力: SystemCapability.Communication.ConnectedTag

返回值:

类型 说明 Promise 返回读取有源标签内容。

错误码:

以下错误码的详细介绍。

错误码ID 错误信息 201 Permission denied. 801 Capability not supported. 3200101 Connected NFC tag running state is abnormal in service.

示例:

import { connectedTag } from \'@kit.ConnectivityKit\';import { BusinessError } from \'@kit.BasicServicesKit\';connectedTag.read().then((data) => { console.log(\"connectedTag read Promise data = \" + data);}).catch((err: BusinessError)=> { console.log(\"connectedTag read Promise err: \" + err);});

connectedTag.readNdefTag

readNdefTag(callback: AsyncCallback): void

读取有源标签内容,使用AsyncCallback方式作为异步方法。

需要权限:ohos.permission.NFC_TAG

系统能力:SystemCapability.Communication.ConnectedTag

参数

参数名 类型 必填 说明 callback AsyncCallback 是 读取有源标签内容回调函数。

示例:

import { connectedTag } from \'@kit.ConnectivityKit\';connectedTag.readNdefTag((err, data)=> { if (err) { console.log(\"connectedTag readNdefTag AsyncCallback err: \" + err); } else { console.log(\"connectedTag readNdefTag AsyncCallback data: \" + data); }});

connectedTag.read9+

read(callback: AsyncCallback): void

读取有源标签内容,使用AsyncCallback方式作为异步方法。

需要权限: ohos.permission.NFC_TAG

系统能力: SystemCapability.Communication.ConnectedTag

参数:

参数名 类型 必填 说明 callback AsyncCallback 是 读取有源标签内容回调函数。

错误码:

以下错误码的详细介绍。

错误码ID 错误信息 201 Permission denied. 801 Capability not supported. 3200101 Connected NFC tag running state is abnormal in service.

示例:

import { connectedTag } from \'@kit.ConnectivityKit\';connectedTag.read((err, data)=> { if (err) { console.log(\"connectedTag read AsyncCallback err: \" + err); } else { console.log(\"connectedTag read AsyncCallback data: \" + data); }});

connectedTag.writeNdefTag

writeNdefTag(data: string): Promise

写入内容到有源标签,使用promise方式作为异步方法。

需要权限:ohos.permission.NFC_TAG

系统能力:SystemCapability.Communication.ConnectedTag

参数:

参数名 类型 必填 说明 data string 是 有源标签内容, 长度最大是1024个字节。

返回值:

类型 说明 Promise 无返回值。

示例:

import { connectedTag } from \'@kit.ConnectivityKit\';import { BusinessError } from \'@kit.BasicServicesKit\';let rawData = \"010203\"; // change it to be correct.connectedTag.writeNdefTag(rawData).then(() => { console.log(\"connectedTag writeNdefTag Promise success.\");}).catch((err: BusinessError)=> { console.log(\"connectedTag writeNdefTag Promise err: \" + err);});

connectedTag.write9+

write(data: number[]): Promise

写入内容到有源标签,使用promise方式作为异步方法。

需要权限: ohos.permission.NFC_TAG

系统能力: SystemCapability.Communication.ConnectedTag

参数:

参数名 类型 必填 说明 data number[] 是 有源标签内容, 由十六进制数字组成,范围从0x00至0xFF。

返回值:

类型 说明 Promise 无返回值。

错误码:

以下错误码的详细介绍。

错误码ID 错误信息 201 Permission denied. 401

The parameter check failed. Possible causes:

1. Mandatory parameters are left unspecified.

2. Incorrect parameters types.

3. Parameter verification failed.

801 Capability not supported. 3200101 Connected NFC tag running state is abnormal in service.

示例:

import { connectedTag } from \'@kit.ConnectivityKit\';import { BusinessError } from \'@kit.BasicServicesKit\';let rawData = [0x01, 0x02, 0x03]; // change it to be correct.connectedTag.write(rawData).then(() => { console.log(\"connectedTag write NdefTag Promise success.\");}).catch((err: BusinessError)=> { console.log(\"connectedTag write NdefTag Promise err: \" + err);});

connectedTag.writeNdefTag

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

写入内容到有源标签,使用AsyncCallback方式作为异步方法。

需要权限:ohos.permission.NFC_TAG

系统能力:SystemCapability.Communication.ConnectedTag

参数:

参数名 类型 必填 说明 data string 是 有源标签内容, 长度最大是1024个字节。 callback AsyncCallback 是 读取有源标签内容回调函数。

示例:

import { connectedTag } from \'@kit.ConnectivityKit\';let rawData = \"010203\"; // change it to be correct.connectedTag.writeNdefTag(rawData, (err)=> { if (err) { console.log(\"connectedTag writeNdefTag AsyncCallback err: \" + err); } else { console.log(\"connectedTag writeNdefTag AsyncCallback success.\"); }});

connectedTag.write9+

write(data: number[], callback: AsyncCallback): void

写入内容到有源标签,使用AsyncCallback方式作为异步方法。

需要权限: ohos.permission.NFC_TAG

系统能力: SystemCapability.Communication.ConnectedTag

参数:

参数名 类型 必填 说明 data number[] 是 有源标签内容, 由十六进制数字组成,范围从0x00至0xFF。 callback AsyncCallback 是 读取有源标签内容回调函数。

错误码:

以下错误码的详细介绍。

错误码ID 错误信息 201 Permission denied. 401

The parameter check failed. Possible causes:

1. Mandatory parameters are left unspecified.

2. Incorrect parameters types.

3. Parameter verification failed.

801 Capability not supported. 3200101 Connected NFC tag running state is abnormal in service.

示例:

import { connectedTag } from \'@kit.ConnectivityKit\';let rawData = [0x01, 0x02, 0x03]; // change it to be correct.connectedTag.write(rawData, (err)=> { if (err) { console.log(\"connectedTag write NdefTag AsyncCallback err: \" + err); } else { console.log(\"connectedTag write NdefTag AsyncCallback success.\"); }});

connectedTag.on(\'notify\')

on(type: \"notify\", callback: Callback): void

注册NFC场强状态事件。

需要权限:ohos.permission.NFC_TAG

系统能力:SystemCapability.Communication.ConnectedTag

参数:

参数名 类型 必填 说明 type string 是 固定填\"notify\"字符串。 callback Callback 是 状态改变回调函数,返回值参见NfcRfType。

connectedTag.off(\'notify\')

off(type: \"notify\", callback?: Callback): void

取消NFC场强状态事件的注册。

需要权限:ohos.permission.NFC_TAG

系统能力:SystemCapability.Communication.ConnectedTag

参数:

参数名 类型 必填 说明 type string 是 固定填\"notify\"字符串。 callback Callback 否 状态改变回调函数。如果callback不填,将“去注册”该事件关联的所有回调函数。

示例:

import { connectedTag } from \'@kit.ConnectivityKit\';// Register eventconnectedTag.on(\"notify\", (rfState : number)=> { console.log(\"connectedTag on Callback rfState: \" + rfState);});let initStatus = connectedTag.init();console.log(\"connectedTag init status: \" + initStatus);// Add nfc connected tag business operations here...// connectedTag.writeNdefTag(rawData)// connectedTag.readNdefTag()let uninitStatus = connectedTag.uninit();console.log(\"connectedTag uninit status: \" + uninitStatus);// Unregister eventconnectedTag.off(\"notify\", (rfState : number)=> { console.log(\"connectedTag off Callback rfState: \" + rfState);});

NfcRfType

表示NFC场强状态的枚举。

系统能力:SystemCapability.Communication.ConnectedTag

名称 值 说明 NFC_RF_LEAVE 0 NFC离场事件 NFC_RF_ENTER 1 NFC进场事件