本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块主要用于管理NFC状态,包括打开和关闭NFC,读取NFC的状态等。
本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
- import { nfcController } from '@kit.ConnectivityKit';
定义不同的NFC状态值。
系统能力: SystemCapability.Communication.NFC.Core
元服务API: 从API version 12开始,该接口支持在元服务中使用。
| 名称 | 值 | 说明 |
|---|---|---|
| STATE_OFF | 1 | NFC已关闭状态。 |
| STATE_TURNING_ON | 2 | NFC正在打开状态。 |
| STATE_ON | 3 | NFC已打开状态。 |
| STATE_TURNING_OFF | 4 | NFC正在关闭状态。 |
isNfcAvailable(): boolean
查询设备是否有NFC能力。
从API version 7开始支持,从API version 9开始废弃,API version 26前建议使用canIUse("SystemCapability.Communication.NFC.Core") && nfcController.isNfcAvailable共同判断设备是否支持NFC,从API version 26开始,建议使用canIUse("SystemCapability.Communication.NFC.Core") && nfcController.isNfcSupported 替代。
系统能力: SystemCapability.Communication.NFC.Core
返回值:
| 类型 | 说明 |
|---|---|
| boolean | true: 设备具备NFC能力, false: 设备不具备NFC能力。 |
isNfcSupported(): boolean
查询设备是否有NFC能力。
起始版本: 26.0.0
系统能力: SystemCapability.Communication.NFC.Core
模型约束: 此接口仅可在Stage模型下使用。
返回值:
| 类型 | 说明 |
|---|---|
| boolean | true: 设备具备NFC能力, false: 设备不具备NFC能力。 |
openNfc(): boolean
打开NFC开关。
从 API version 7 开始支持,从 API version 9 开始废弃,建议使用enableNfc替代。
需要权限: ohos.permission.MANAGE_SECURE_SETTINGS(该权限仅系统应用可申请)
系统能力: SystemCapability.Communication.NFC.Core
返回值:
| 类型 | 说明 |
|---|---|
| boolean | true: 打开NFC成功, false: 打开NFC失败。 |
enableNfc(): void
打开NFC开关,该接口只能被系统应用调用。
需要权限: ohos.permission.MANAGE_SECURE_SETTINGS(该权限仅系统应用可申请)
系统能力: SystemCapability.Communication.NFC.Core
错误码:
以下错误码的详细介绍请参见NFC错误码。
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission denied. |
| 801 | Capability not supported. |
| 3100101 | The NFC state is abnormal in the service. |
示例:
示例参见off接口。
closeNfc(): boolean
关闭NFC开关。
从 API version 7 开始支持,从 API version 9 开始废弃,建议使用disableNfc替代。
需要权限: ohos.permission.MANAGE_SECURE_SETTINGS(该权限仅系统应用可申请)
系统能力: SystemCapability.Communication.NFC.Core
返回值:
| 类型 | 说明 |
|---|---|
| boolean | true: 关闭NFC成功, false: 关闭NFC失败。 |
disableNfc(): void
关闭NFC开关,该接口只能被系统应用调用。
需要权限: ohos.permission.MANAGE_SECURE_SETTINGS(该权限仅系统应用可申请)
系统能力: SystemCapability.Communication.NFC.Core
错误码:
以下错误码的详细介绍请参见NFC错误码。
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission denied. |
| 801 | Capability not supported. |
| 3100101 | The NFC state is abnormal in the service. |
示例:
示例参见off接口。
isNfcOpen(): boolean
查询NFC是否打开。
系统能力: SystemCapability.Communication.NFC.Core
元服务API: 从API version 12开始,该接口支持在元服务中使用。
返回值:
| 类型 | 说明 |
|---|---|
| boolean | true: NFC是打开的, false: NFC是关闭的。 |
示例:
示例参见off接口。
getNfcState(): NfcState
查询NFC状态。
系统能力: SystemCapability.Communication.NFC.Core
元服务API: 从API version 12开始,该接口支持在元服务中使用。
返回值:
示例:
- import { nfcController } from '@kit.ConnectivityKit';
-
- // 查询nfc状态
- let nfcState: nfcController.NfcState = nfcController.getNfcState();
- console.info("nfcController on callback nfcstate: " + nfcState);
on(type: 'nfcStateChange', callback: Callback<NfcState>): void
注册NFC开关状态事件,获取NFC状态的变化通知。使用callback异步回调。
系统能力: SystemCapability.Communication.NFC.Core
元服务API: 从API version 12开始,该接口支持在元服务中使用。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 固定填"nfcStateChange"字符串。 |
| callback | Callback<NfcState> | 是 | 回调函数,返回NFC状态的枚举值。 |
示例:
示例参见off接口。
off(type: 'nfcStateChange', callback?: Callback<NfcState>): void
取消NFC开关状态事件的注册,取消后NFC状态变化时,就不会再收到Callback的通知。使用callback异步回调。
系统能力: SystemCapability.Communication.NFC.Core
元服务API: 从API version 12开始,该接口支持在元服务中使用。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 固定填"nfcStateChange"字符串。 |
| callback | Callback<NfcState> | 否 | NFC状态改变回调函数,可以空缺不填。如果callback不填,将取消注册该事件关联的所有回调函数。 |
示例:
- import { nfcController } from '@kit.ConnectivityKit';
-
- // 注册回调以接收nfc状态更改通知
- nfcController.on("nfcStateChange", (nfcState : number) => {
- console.info("nfcController on callback nfcState: " + nfcState);
- });
-
- // 打开nfc需要权限:ohos.permission.MANAGE_SECURE_SETTINGS(此权限仅系统应用可申请)
- if (!nfcController.isNfcOpen()) {
- // 从api9开始,使用'enableNfc'打开nfc
- try {
- nfcController.enableNfc();
- console.info("nfcController enableNfc success");
- } catch (businessError) {
- console.error("nfcController enableNfc businessError: " + businessError);
- }
- } else {
- console.info("nfcController NFC has been opened");
- }
-
- // 关闭nfc需要权限:ohos.permission.MANAGE_SECURE_SETTINGS(此权限仅系统应用可申请)
- if (nfcController.isNfcOpen()) {
- // 从api9开始,使用'disableNfc'关闭nfc
- try {
- nfcController.disableNfc();
- console.info("nfcController disableNfc success");
- } catch (businessError) {
- console.error("nfcController disableNfc businessError: " + businessError);
- }
- } else {
- console.info("nfcController NFC has been closed");
- }
-
- // 取消注册回调
- nfcController.off("nfcStateChange");
合作咨询
我们的专家服务团队将竭诚为您提供专业的合作咨询服务
解决方案
精准高效的一站式服务支持,助力开发者商业成功