js-apis-nfcController.md 3.5 KB
Newer Older
1
# 标准NFC
刘嘉伟 已提交
2

3
本模块主要用于操作及管理NFC。
刘嘉伟 已提交
4 5 6 7 8 9 10 11

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


## **导入模块**

```
12
import controller from '@ohos.nfc.controller';
刘嘉伟 已提交
13 14 15
```


16
## controller.isNfcAvailable
刘嘉伟 已提交
17

18
isNfcAvailable(): boolean
刘嘉伟 已提交
19

20
查询是否有NFC功能
刘嘉伟 已提交
21

22 23 24 25 26 27 28 29 30 31 32 33 34 35
**返回值:**

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


## controller.openNfc

openNfc(): boolean

打开NFC开关。

**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS
刘嘉伟 已提交
36 37 38 39 40 41 42

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

**返回值:**

| **类型** | **说明** |
| -------- | -------- |
43
| boolean | true:打开NFC成功, false:打开NFC失败。 |
刘嘉伟 已提交
44

45
## controller.closeNfc
刘嘉伟 已提交
46

47
closeNfc(): boolean
刘嘉伟 已提交
48

49
关闭NFC开关。
刘嘉伟 已提交
50

51
**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS
刘嘉伟 已提交
52 53 54 55 56

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

**返回值:**

57 58 59
| **类型** | **说明**                                    |
| -------- | ------------------------------------------- |
| boolean  | true:关闭NFC成功, false:关闭NFC失败。 |
刘嘉伟 已提交
60

61
## controller.isNfcOpen
刘嘉伟 已提交
62

63
isNfcOpen(): boolean
刘嘉伟 已提交
64

65
查询NFC是否打开。
刘嘉伟 已提交
66 67 68 69 70

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

**返回值:**

71 72 73
| **类型** | **说明**                            |
| -------- | ----------------------------------- |
| boolean  | true:NFC打开, false:NFC关闭。 |
刘嘉伟 已提交
74

75
## controller.getNfcState
刘嘉伟 已提交
76

77
getNfcState(): boolean
刘嘉伟 已提交
78

79
查询NFC是否打开。
刘嘉伟 已提交
80 81 82

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

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 148
| **类型** | **说明**                            |
| -------- | ----------------------------------- |
| boolean  | true:NFC打开, false:NFC关闭。 |

## controller.on('nfcStateChange')

on(type: "nfcStateChange", 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不填,将“去注册”该事件关联的所有回调函数。 |
  
**示例**

  ```js
  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正在关闭状态 |