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(): NfcState
刘嘉伟 已提交
78

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

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

83 84
**返回值:**

85 86 87
| **类型** | **说明**               |
| -------- | ---------------------- |
| NfcState | 详细请见NfcState枚举值 |
88 89 90 91 92 93 94 95 96

## controller.on('nfcStateChange')

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

注册NFC开关状态事件。

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

97
**参数**
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
  
  | **参数名** | **类型** | **必填** | **说明** |
  | -------- | -------- | -------- | -------- |
  | type | string | 是 | 固定填"nfcStateChange"字符串 |
  | callback | Callback<NfcState> | 是 | 状态改变回调函数。 |



## controller.off('nfcStateChange')

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

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

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

114
**参数**
115 116 117 118 119 120
  
  | **参数名** | **类型** | **必填** | **说明** |
  | -------- | -------- | -------- | -------- |
  | type | string | 是 | 固定填"nfcStateChange"字符串 |
| callback | Callback<NfcState> | 否 | 状态改变回调函数。如果callback不填,将“去注册”该事件关联的所有回调函数。 |
  
121
- 示例
122
  ```js
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
  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正在关闭状态 |