js-apis-nfcController.md 3.5 KB
Newer Older
刘嘉伟 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
# 标准NFC

本模块主要用于操作及管理NFC。

> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。


## **导入模块**

```
import controller from '@ohos.nfc.controller';
```


## controller.isNfcAvailable

isNfcAvailable(): boolean

查询是否有NFC功能

**返回值:**

| **类型** | **说明** |
| -------- | -------- |
| boolean | true:有NFC功能, false:无NFC功能。 |


## controller.openNfc

openNfc(): boolean

打开NFC开关。

**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS

**系统能力**:SystemCapability.Communication.NFC

**返回值:**

| **类型** | **说明** |
| -------- | -------- |
| boolean | true:打开NFC成功, false:打开NFC失败。 |

## controller.closeNfc

closeNfc(): boolean

关闭NFC开关。

**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS

**系统能力**:SystemCapability.Communication.NFC

**返回值:**

| **类型** | **说明**                                    |
| -------- | ------------------------------------------- |
| boolean  | true:关闭NFC成功, false:关闭NFC失败。 |

## controller.isNfcOpen

isNfcOpen(): boolean

查询NFC是否打开。

**系统能力**:SystemCapability.Communication.NFC

**返回值:**

| **类型** | **说明**                            |
| -------- | ----------------------------------- |
| boolean  | true:NFC打开, false:NFC关闭。 |

## controller.getNfcState

isNfcOpen(): boolean

查询NFC是否打开。

**系统能力**:SystemCapability.Communication.NFC

**返回值:**

| **类型** | **说明**                            |
| -------- | ----------------------------------- |
| boolean  | true:NFC打开, false:NFC关闭。 |

## controller.on('nfcStateChange')

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

注册NFC开关状态事件。

**系统能力**:SystemCapability.Communication.NFC

- **参数**
  
  | **参数名** | **类型** | **必填** | **说明** |
  | -------- | -------- | -------- | -------- |
  | type | string | 是 | 固定填"nfcStateChange"字符串 |
  | callback | Callback<NfcState> | 是 | 状态改变回调函数。 |



## controller.off('nfcStateChange')

off(type: "nfcStateChange", callback?: Callback<NfcState>): void

取消NFC开关状态事件的注册。

**系统能力**:SystemCapability.Communication.NFC

- **参数**
  
  | **参数名** | **类型** | **必填** | **说明** |
  | -------- | -------- | -------- | -------- |
  | type | string | 是 | 固定填"nfcStateChange"字符串 |
| callback | Callback<NfcState> | 否 | 状态改变回调函数。如果callback不填,将“去注册”该事件关联的所有回调函数。 |
  
- 示例
  ```
  import nfcController from '@ohos.nfcController';
  
  var NFC_STATE_NOTIFY = "nfcStateChange";
  
  var recvNfcStateNotifyFunc = result => {
      console.info("nfc state receive state: " + result);
  }
  
  // 注册事件
  nfcController.on(NFC_STATE_NOTIFY, recvNfcStateNotifyFunc);
  
  // 解注册事件
  nfcController.off(NFC_STATE_NOTIFY, recvNfcStateNotifyFunc);
  ```

## NfcState

表示NFC状态的枚举。

| 名称 | 默认值 | 说明 |
| -------- | -------- | -------- |
| STATE_OFF | 1 | NFC关闭状态 |
| STATE_TURNING_ON | 2 | NFC正在打开状态 |
| STATE_ON | 3      | NFC打开状态 |
| STATE_TURNING_OFF | 4      | NFC正在关闭状态 |