js-apis-nfcController.md 4.2 KB
Newer Older
1
# @ohos.nfc.controller (标准NFC)
刘嘉伟 已提交
2

3
本模块主要用于管理NFC状态,包括打开和关闭NFC,读取NFC的状态等。
刘嘉伟 已提交
4

5 6
> **说明:**
>
7
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
刘嘉伟 已提交
8 9 10

## **导入模块**

Z
zhangxiuping 已提交
11
```js
12
import controller from '@ohos.nfc.controller';
刘嘉伟 已提交
13 14
```

15 16 17 18
## NfcState

定义不同的NFC状态值。

Z
zhangxiuping 已提交
19
**系统能力:** SystemCapability.Communication.NFC.Core
20

Z
zhangxiuping 已提交
21
| 名称 | 值 | 说明 |
22 23 24 25 26
| -------- | -------- | -------- |
| STATE_OFF | 1 | NFC已关闭状态。 |
| STATE_TURNING_ON | 2 | NFC正在打开状态。 |
| STATE_ON | 3      | NFC已打开状态。 |
| STATE_TURNING_OFF | 4      | NFC正在关闭状态。 |
刘嘉伟 已提交
27

28
## controller.isNfcAvailable
刘嘉伟 已提交
29

30
isNfcAvailable(): boolean
刘嘉伟 已提交
31

32
查询设备是否有NFC能力。
刘嘉伟 已提交
33

Z
zhangxiuping 已提交
34
**系统能力:** SystemCapability.Communication.NFC.Core
35

36 37 38 39
**返回值:**

| **类型** | **说明** |
| -------- | -------- |
40
| boolean | true: 设备具备NFC能力, false: 设备不具备NFC能力。 |
41 42 43 44 45 46 47 48


## controller.openNfc

openNfc(): boolean

打开NFC开关。

Z
zhangxiuping 已提交
49
**需要权限:** ohos.permission.MANAGE_SECURE_SETTINGS
刘嘉伟 已提交
50

Z
zhangxiuping 已提交
51
**系统能力:** SystemCapability.Communication.NFC.Core
刘嘉伟 已提交
52 53 54 55 56

**返回值:**

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

59
## controller.closeNfc
刘嘉伟 已提交
60

61
closeNfc(): boolean
刘嘉伟 已提交
62

63
关闭NFC开关。
刘嘉伟 已提交
64

Z
zhangxiuping 已提交
65
**需要权限:** ohos.permission.MANAGE_SECURE_SETTINGS
刘嘉伟 已提交
66

Z
zhangxiuping 已提交
67
**系统能力:** SystemCapability.Communication.NFC.Core
刘嘉伟 已提交
68 69 70

**返回值:**

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

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

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

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

Z
zhangxiuping 已提交
81
**系统能力:** SystemCapability.Communication.NFC.Core
刘嘉伟 已提交
82 83 84

**返回值:**

85 86
| **类型** | **说明**                            |
| -------- | ----------------------------------- |
87
| boolean  | true: NFC是打开的, false: NFC是关闭的。 |
刘嘉伟 已提交
88

89
## controller.getNfcState
刘嘉伟 已提交
90

91
getNfcState(): [NfcState](#nfcstate)
刘嘉伟 已提交
92

93
查询NFC状态。
刘嘉伟 已提交
94

Z
zhangxiuping 已提交
95
**系统能力:** SystemCapability.Communication.NFC.Core
刘嘉伟 已提交
96

97 98
**返回值:**

99 100
| **类型** | **说明**               |
| -------- | ---------------------- |
101
| [NfcState](#nfcstate) | NFC状态值,详细请见[NfcState](#nfcstate)枚举值。 |
102 103 104

## controller.on('nfcStateChange')

105
on(type: "nfcStateChange", callback: Callback<[NfcState](#nfcstate)>): void
106

107
注册NFC开关状态事件,通过Callback方式获取NFC状态的变化通知。
108

Z
zhangxiuping 已提交
109
**系统能力:** SystemCapability.Communication.NFC.Core
110

111
**参数**
112
  
Z
zhangxiuping 已提交
113 114 115 116
| **参数名** | **类型** | **必填** | **说明** |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 固定填"nfcStateChange"字符串。 |
| callback | Callback<[NfcState](#nfcstate)> | 是 | NFC状态改变通知的回调函数。 |
117 118 119

## controller.off('nfcStateChange')

120
off(type: "nfcStateChange", callback?: Callback<[NfcState](#nfcstate)>): void
121

122
取消NFC开关状态事件的注册,取消后NFC状态变化时,就不会再收到Callback的通知。
123

Z
zhangxiuping 已提交
124
**系统能力:** SystemCapability.Communication.NFC.Core
125

126
**参数**
Z
zhangxiuping 已提交
127 128 129 130

| **参数名** | **类型** | **必填** | **说明** |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 固定填"nfcStateChange"字符串。 |
131
| callback | Callback<[NfcState](#nfcstate)> | 否 | NFC状态改变回调函数,可以空缺不填。 |
132
  
133 134
**示例**

Z
zhangxiuping 已提交
135 136
```js
import controller from '@ohos.nfc.controller';
137

Z
zhangxiuping 已提交
138 139 140 141 142 143
// register callback to receive the nfc state changed notification
controller.on("nfcStateChange", (err, nfcState)=> {
  if (err) {
      console.log("controller on callback err: " + err);
  } else {
      console.log("controller on callback nfcState: " + nfcState);
144
  }
Z
zhangxiuping 已提交
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
});

// open nfc, require permission: ohos.permission.MANAGE_SECURE_SETTINGS
if (!controller.isNfcOpen()) {
  var ret = controller.openNfc();
  console.log("controller openNfc ret: " + ret);
}

// close nfc, require permission: ohos.permission.MANAGE_SECURE_SETTINGS
if (controller.isNfcOpen()) {
  var ret = controller.closeNfc();
  console.log("controller closeNfc ret: " + ret);
}

// unregister callback
controller.off("nfcStateChange");
```