js-apis-radio.md 34.5 KB
Newer Older
1
# @ohos.telephony.observer (observer)
Z
zengyawen 已提交
2

3
本模块提供订阅管理功能,可以订阅/取消订阅的事件包括:网络状态变化、信号状态变化、通话状态变化、蜂窝数据链路连接状态、蜂窝数据业务的上下行数据流状态、SIM状态变化。
C
clevercong 已提交
4

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


Z
zengyawen 已提交
10
## 导入模块
C
clevercong 已提交
11 12

```
13
import observer from '@ohos.telephony.observer';
C
clevercong 已提交
14 15
```

16
## observer.on('networkStateChange')
C
clevercong 已提交
17

18
on\(type: \'networkStateChange\', callback: Callback<NetworkState\>\): void;
C
clevercong 已提交
19

20
订阅网络状态变化事件,使用callback方式作为异步方法。
C
clevercong 已提交
21

C
clevercong 已提交
22
**需要权限**:ohos.permission.GET_NETWORK_INFO
C
clevercong 已提交
23

24
**系统能力**:SystemCapability.Telephony.StateRegistry
Y
YOUR_NAME 已提交
25

Z
zengyawen 已提交
26
**参数:**
Z
zengyawen 已提交
27

28 29 30 31
| 参数名   | 类型                                                      | 必填 | 说明                                                         |
| -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| type     | string                                                    | 是   | 网络状态变化事件                                             |
| callback | Callback\<[NetworkState](js-apis-radio.md#networkstate)\> | 是   | 回调函数。参考radio的[NetworkState](js-apis-radio.md#networkstate) |
C
clevercong 已提交
32

D
dingxiaochen 已提交
33 34 35 36 37 38 39 40 41 42 43 44
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。

| 错误码ID |                  错误信息                    |
| -------- | -------------------------------------------- |
| 201      | Permission denied.                           |
| 401      | Parameter error.                             |
| 8300001  | Invalid parameter value.                     |
| 8300002  | Operation failed. Cannot connect to service. |
| 8300003  | System internal error.                       |
| 8300999  | Unknown error code.                          |

Z
zengyawen 已提交
45
**示例:**
C
clevercong 已提交
46

Z
zengyawen 已提交
47
```js
48 49
observer.on('networkStateChange', data => {
    console.log("on networkStateChange, data:" + JSON.stringify(data));
Z
zengyawen 已提交
50 51
});
```
C
clevercong 已提交
52 53


54
## observer.on('networkStateChange')
C
clevercong 已提交
55

56
on\(type: \'networkStateChange\', options: { slotId: number }, callback: Callback<NetworkState\>\): void;
C
clevercong 已提交
57

58
订阅指定卡槽位的网络状态变化事件,使用callback方式作为异步方法。
C
clevercong 已提交
59

C
clevercong 已提交
60
**需要权限**:ohos.permission.GET_NETWORK_INFO
C
clevercong 已提交
61

62
**系统能力**:SystemCapability.Telephony.StateRegistry
Y
YOUR_NAME 已提交
63

Z
zengyawen 已提交
64
**参数:**
Z
zengyawen 已提交
65

Z
zengyawen 已提交
66 67
| 参数名 | 类型   | 必填 | 说明                                   |
| ------ | ------ | ---- | -------------------------------------- |
68
| type     | string                                    | 是   | 网络状态变化事件                  |
Z
zengyawen 已提交
69
| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
70
| callback | Callback\<[NetworkState](js-apis-radio.md#networkstate)\> | 是   | 回调函数。参考radio的[NetworkState](js-apis-radio.md#networkstate) |
C
clevercong 已提交
71

D
dingxiaochen 已提交
72 73 74 75 76 77 78 79 80 81 82 83
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。

| 错误码ID |                  错误信息                    |
| -------- | -------------------------------------------- |
| 201      | Permission denied.                           |
| 401      | Parameter error.                             |
| 8300001  | Invalid parameter value.                     |
| 8300002  | Operation failed. Cannot connect to service. |
| 8300003  | System internal error.                       |
| 8300999  | Unknown error code.                          |

C
clevercong 已提交
84 85 86
**示例:**

```js
87 88
observer.on('networkStateChange', {slotId: 0}, data => {
    console.log("on networkStateChange, data:" + JSON.stringify(data));
C
clevercong 已提交
89 90 91 92
});
```


93
## observer.off('networkStateChange')
C
clevercong 已提交
94

95
off\(type: \'networkStateChange\', callback?: Callback<NetworkState\>\): void;
C
clevercong 已提交
96

97 98 99 100 101
取消订阅网络状态变化事件,使用callback方式作为异步方法。

>**说明:**
>
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
C
clevercong 已提交
102

103
**系统能力**:SystemCapability.Telephony.StateRegistry
C
clevercong 已提交
104 105 106

**参数:**

107 108 109 110
| 参数名   | 类型                                                      | 必填 | 说明                                                         |
| -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| type     | string                                                    | 是   | 网络状态变化事件                                             |
| callback | Callback\<[NetworkState](js-apis-radio.md#networkstate)\> | 否   | 回调函数。参考radio的[NetworkState](js-apis-radio.md#networkstate) |
D
dingxiaochen 已提交
111

112
| 错误码ID |                  错误信息                    |
D
dingxiaochen 已提交
113 114 115 116 117 118 119
| -------- | -------------------------------------------- |
| 401      | Parameter error.                             |
| 8300001  | Invalid parameter value.                     |
| 8300002  | Operation failed. Cannot connect to service. |
| 8300003  | System internal error.                       |
| 8300999  | Unknown error code.                          |

C
clevercong 已提交
120 121 122
**示例:**

```js
123 124 125 126 127 128 129
let callback = data => {
    console.log("on networkStateChange, data:" + JSON.stringify(data));
}
observer.on('networkStateChange', callback);
// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
observer.off('networkStateChange', callback);
observer.off('networkStateChange');
C
clevercong 已提交
130 131
```

132
## observer.on('signalInfoChange')
C
clevercong 已提交
133

134
on\(type: \'signalInfoChange\', callback: Callback<Array<SignalInformation\>\>): void;
C
clevercong 已提交
135

136
订阅信号状态变化事件,使用callback方式作为异步方法。
C
clevercong 已提交
137

138
**系统能力**:SystemCapability.Telephony.StateRegistry
C
clevercong 已提交
139 140 141

**参数:**

142 143 144 145
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 信号状态变化事件                                             |
| callback | Callback<Array<[SignalInformation](js-apis-radio.md#signalinformation)\>\> | 是   | 回调函数。参考radio的[SignalInformation](js-apis-radio.md#signalinformation) |
C
clevercong 已提交
146

D
dingxiaochen 已提交
147 148 149
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。

150
| 错误码ID |                  错误信息                    |
D
dingxiaochen 已提交
151
| -------- | -------------------------------------------- |
152
| 201      | Permission denied.                           |
D
dingxiaochen 已提交
153 154 155 156 157 158
| 401      | Parameter error.                             |
| 8300001  | Invalid parameter value.                     |
| 8300002  | Operation failed. Cannot connect to service. |
| 8300003  | System internal error.                       |
| 8300999  | Unknown error code.                          |

C
clevercong 已提交
159 160 161
**示例:**

```js
162 163
observer.on('signalInfoChange', data => {
    console.log("on signalInfoChange, data:" + JSON.stringify(data));
C
clevercong 已提交
164 165 166 167
});
```


168
## observer.on('signalInfoChange')
C
clevercong 已提交
169

170
on\(type: \'signalInfoChange\', options: { slotId: number }, callback: Callback<Array<SignalInformation\>\>): void;
C
clevercong 已提交
171

172
订阅指定卡槽位的信号状态变化事件,使用callback方式作为异步方法。
C
clevercong 已提交
173

174
**系统能力**:SystemCapability.Telephony.StateRegistry
C
clevercong 已提交
175 176 177 178 179

**参数:**

| 参数名 | 类型   | 必填 | 说明                                   |
| ------ | ------ | ---- | -------------------------------------- |
180 181 182
| type     | string                                    | 是   | 信号状态变化事件                |
| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | Callback<Array<[SignalInformation](js-apis-radio.md#signalinformation)\>\> | 是   | 回调函数。参考radio的[SignalInformation](js-apis-radio.md#signalinformation) |
C
clevercong 已提交
183

D
dingxiaochen 已提交
184 185 186 187 188 189 190 191 192 193 194 195
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。

| 错误码ID |                  错误信息                    |
| -------- | -------------------------------------------- |
| 201      | Permission denied.                           |
| 401      | Parameter error.                             |
| 8300001  | Invalid parameter value.                     |
| 8300002  | Operation failed. Cannot connect to service. |
| 8300003  | System internal error.                       |
| 8300999  | Unknown error code.                          |

C
clevercong 已提交
196 197 198
**示例:**

```js
199 200
observer.on('signalInfoChange', {slotId: 0}, data => {
    console.log("on signalInfoChange, data:" + JSON.stringify(data));
C
clevercong 已提交
201 202 203 204
});
```


205
## observer.off('signalInfoChange')
C
clevercong 已提交
206

207
off\(type: \'signalInfoChange\', callback?: Callback<Array<SignalInformation\>\>): void;
C
clevercong 已提交
208

209
取消订阅信号状态变化事件,使用callback方式作为异步方法。
C
clevercong 已提交
210

211 212 213
>**说明:**
>
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
C
clevercong 已提交
214

215
**系统能力**:SystemCapability.Telephony.StateRegistry
C
clevercong 已提交
216 217 218

**参数:**

219 220 221 222
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 信号状态变化事件                                             |
| callback | Callback<Array<[SignalInformation](js-apis-radio.md#signalinformation)\>\> | 否   | 回调函数。参考radio的[SignalInformation](js-apis-radio.md#signalinformation) |
C
clevercong 已提交
223

D
dingxiaochen 已提交
224 225 226 227 228 229 230 231 232 233 234
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。

| 错误码ID |                  错误信息                    |
| -------- | -------------------------------------------- |
| 401      | Parameter error.                             |
| 8300001  | Invalid parameter value.                     |
| 8300002  | Operation failed. Cannot connect to service. |
| 8300003  | System internal error.                       |
| 8300999  | Unknown error code.                          |

C
clevercong 已提交
235 236 237
**示例:**

```js
238 239 240 241 242 243 244
let callback = data => {
    console.log("on signalInfoChange, data:" + JSON.stringify(data));
}
observer.on('signalInfoChange', callback);
// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
observer.off('signalInfoChange', callback);
observer.off('signalInfoChange');
C
clevercong 已提交
245 246 247
```


248
## observer.on('callStateChange')
C
clevercong 已提交
249

250
on(type: 'callStateChange', callback: Callback\<{ state: CallState, number: string }\>): void;
C
clevercong 已提交
251

252
订阅通话状态变化事件,使用callback方式作为异步方法。
C
clevercong 已提交
253

254
**系统能力**:SystemCapability.Telephony.StateRegistry
C
clevercong 已提交
255 256 257

**参数:**

258 259 260 261
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 通话状态变化事件                                             |
| callback | Callback\<{ state: [CallState](js-apis-call.md#callstate), number: string }\> | 是   | 回调函数,参考call的[CallState](js-apis-call.md#callstate)<br />number:电话号码 |
C
clevercong 已提交
262

D
dingxiaochen 已提交
263 264 265 266 267 268 269 270 271 272 273
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。

| 错误码ID |                  错误信息                    |
| -------- | -------------------------------------------- |
| 401      | Parameter error.                             |
| 8300001  | Invalid parameter value.                     |
| 8300002  | Operation failed. Cannot connect to service. |
| 8300003  | System internal error.                       |
| 8300999  | Unknown error code.                          |

C
clevercong 已提交
274 275 276
**示例:**

```js
277 278
observer.on('callStateChange', value => {
    console.log("on callStateChange, state:" + value.state + ", number:" + value.number);
C
clevercong 已提交
279 280 281 282
});
```


283
## observer.on('callStateChange')
C
clevercong 已提交
284

285
on(type: 'callStateChange', options: { slotId: number }, callback: Callback<{ state:CallState, number: string }>): void;
C
clevercong 已提交
286

287
订阅通话状态变化事件,使用callback方式作为异步方法。
C
clevercong 已提交
288

289
**系统能力**:SystemCapability.Telephony.StateRegistry
C
clevercong 已提交
290 291 292

**参数:**

293 294 295 296 297
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 通话状态变化事件                                             |
| slotId   | number                                                       | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2                       |
| callback | Callback\<{ state: [CallState](js-apis-call.md#callstate), number: string }\> | 是   | 回调函数,参考call的[CallState](js-apis-call.md#callstate)<br />number:电话号码 |
C
clevercong 已提交
298

D
dingxiaochen 已提交
299 300 301 302 303 304 305 306 307 308 309
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。

| 错误码ID |                  错误信息                    |
| -------- | -------------------------------------------- |
| 401      | Parameter error.                             |
| 8300001  | Invalid parameter value.                     |
| 8300002  | Operation failed. Cannot connect to service. |
| 8300003  | System internal error.                       |
| 8300999  | Unknown error code.                          |

C
clevercong 已提交
310 311 312
**示例:**

```js
313 314
observer.on('callStateChange', {slotId: 0}, value => {
    console.log("on callStateChange, state:" + value.state + ", number:" + value.number);
C
clevercong 已提交
315 316 317 318
});
```


319
## observer.off('callStateChange')
C
clevercong 已提交
320

321
off(type: 'callStateChange', callback?: Callback<{ state: CallState, number: string }>): void;
C
clevercong 已提交
322

323
取消订阅通话状态变化事件,使用callback方式作为异步方法。
C
clevercong 已提交
324

325 326 327
>**说明:**
>
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
C
clevercong 已提交
328

329
**系统能力**:SystemCapability.Telephony.StateRegistry
C
clevercong 已提交
330 331 332

**参数:**

333 334 335 336
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 通话状态变化事件                                             |
| callback | Callback\<{ state: [CallState](js-apis-call.md#callstate), number: string }\> | 否   | 回调函数,参考call的[CallState](js-apis-call.md#callstate)<br />number:电话号码 |
C
clevercong 已提交
337

D
dingxiaochen 已提交
338 339 340 341 342 343 344 345 346 347 348
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。

| 错误码ID |                  错误信息                    |
| -------- | -------------------------------------------- |
| 401      | Parameter error.                             |
| 8300001  | Invalid parameter value.                     |
| 8300002  | Operation failed. Cannot connect to service. |
| 8300003  | System internal error.                       |
| 8300999  | Unknown error code.                          |

C
clevercong 已提交
349 350 351
**示例:**

```js
352 353 354 355 356 357 358
let callback = value => {
    console.log("on callStateChange, state:" + value.state + ", number:" + value.number);
}
observer.on('callStateChange', callback);
// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
observer.off('callStateChange', callback);
observer.off('callStateChange');
C
clevercong 已提交
359 360 361
```


362
## observer.on('cellularDataConnectionStateChange')<sup>7+</sup>
C
clevercong 已提交
363

364
on\(type: 'cellularDataConnectionStateChange', callback: Callback\<{ state: DataConnectState, network: RatType}\>\): void;
C
clevercong 已提交
365

366
订阅蜂窝数据链路连接状态,使用callback方式作为异步方法。
C
clevercong 已提交
367

368
**系统能力**:SystemCapability.Telephony.StateRegistry
C
clevercong 已提交
369 370 371

**参数:**

372 373 374 375
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 蜂窝数据链路连接状态事件                                     |
| callback | Callback\<{ state: [DataConnectState](js-apis-telephony-data.md#dataconnectstate), network: [RatType](js-apis-radio.md#radiotechnology) }\> | 是   | 回调函数,参考data的[DataConnectState](js-apis-telephony-data.md#dataconnectstate),radio的[RadioTechnology](js-apis-radio.md#radiotechnology)。 |
C
clevercong 已提交
376

D
dingxiaochen 已提交
377 378 379 380 381 382 383 384 385 386 387
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。

| 错误码ID |                  错误信息                    |
| -------- | -------------------------------------------- |
| 401      | Parameter error.                             |
| 8300001  | Invalid parameter value.                     |
| 8300002  | Operation failed. Cannot connect to service. |
| 8300003  | System internal error.                       |
| 8300999  | Unknown error code.                          |

C
clevercong 已提交
388 389 390
**示例:**

```js
391 392
observer.on('cellularDataConnectionStateChange', value => {
    console.log("on cellularDataConnectionStateChange, state:" + value.state + ", network:" + value.network);
C
clevercong 已提交
393 394 395 396
});
```


397
## observer.on('cellularDataConnectionStateChange')<sup>7+</sup>
C
clevercong 已提交
398

399
on\(type: 'cellularDataConnectionStateChange', options: { slotId: number }, callback: Callback\<{ state: DataConnectState, network: RatType }\>\): void;
C
clevercong 已提交
400

401
订阅指定卡槽位的蜂窝数据链路连接状态,使用callback方式作为异步方法。
C
clevercong 已提交
402

403
**系统能力**:SystemCapability.Telephony.StateRegistry
C
clevercong 已提交
404 405 406

**参数:**

407 408 409 410 411
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 蜂窝数据链路连接状态事件                                     |
| slotId   | number                                                       | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2                       |
| callback | Callback\<{ state: [DataConnectState](js-apis-telephony-data.md#dataconnectstate), network: [RatType](js-apis-radio.md#radiotechnology) }\> | 是   | 回调函数,参考data的[DataConnectState](js-apis-telephony-data.md#dataconnectstate),radio的[RadioTechnology](js-apis-radio.md#radiotechnology)。 |
C
clevercong 已提交
412

D
dingxiaochen 已提交
413 414 415 416 417 418 419 420 421 422 423
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。

| 错误码ID |                  错误信息                    |
| -------- | -------------------------------------------- |
| 401      | Parameter error.                             |
| 8300001  | Invalid parameter value.                     |
| 8300002  | Operation failed. Cannot connect to service. |
| 8300003  | System internal error.                       |
| 8300999  | Unknown error code.                          |

C
clevercong 已提交
424 425 426
**示例:**

```js
427 428
observer.on('cellularDataConnectionStateChange', {slotId: 0}, value => {
    console.log("on cellularDataConnectionStateChange, state:" + value.state + ", network:" + value.network);
C
clevercong 已提交
429 430 431 432
});
```


433
## observer.off('cellularDataConnectionStateChange')<sup>7+</sup>
C
clevercong 已提交
434

435
off\(type: 'cellularDataConnectionStateChange',  callback?: Callback\<{ state: DataConnectState, network: RatType}\>\): void;
C
clevercong 已提交
436

437
移除订阅蜂窝数据链路连接状态,使用callback方式作为异步方法。
C
clevercong 已提交
438

439 440 441
>**说明:**
>
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
C
clevercong 已提交
442

443
**系统能力**:SystemCapability.Telephony.StateRegistry
C
clevercong 已提交
444 445 446

**参数:**

447 448 449 450
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 蜂窝数据链路连接状态事件                                     |
| callback | Callback\<{ state: [DataConnectState](js-apis-telephony-data.md#dataconnectstate), network: [RatType](js-apis-radio.md#radiotechnology) }\> | 否   | 回调函数,参考data的[DataConnectState](js-apis-telephony-data.md#dataconnectstate),radio的[RadioTechnology](js-apis-radio.md#radiotechnology)。 |
C
clevercong 已提交
451

D
dingxiaochen 已提交
452 453 454 455 456 457 458 459 460 461 462
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。

| 错误码ID |                  错误信息                    |
| -------- | -------------------------------------------- |
| 401      | Parameter error.                             |
| 8300001  | Invalid parameter value.                     |
| 8300002  | Operation failed. Cannot connect to service. |
| 8300003  | System internal error.                       |
| 8300999  | Unknown error code.                          |

C
clevercong 已提交
463 464 465
**示例:**

```js
466 467 468 469 470 471 472
let callback = value => {
    console.log("on cellularDataConnectionStateChange, state:" + value.state + ", network:" + value.network);
}
observer.on('cellularDataConnectionStateChange', callback);
// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
observer.off('cellularDataConnectionStateChange', callback);
observer.off('cellularDataConnectionStateChange');
C
clevercong 已提交
473 474 475
```


476
## observer.on('cellularDataFlowChange')<sup>7+</sup>
C
clevercong 已提交
477

478
on\(type: 'cellularDataFlowChange', callback: Callback\<DataFlowType\>\): void;
C
clevercong 已提交
479

480
订阅蜂窝数据业务的上下行数据流状态,使用callback方式作为异步方法。
C
clevercong 已提交
481

482
**系统能力**:SystemCapability.Telephony.StateRegistry
C
clevercong 已提交
483 484 485

**参数:**

486 487 488 489
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 蜂窝数据业务的上下行数据流状态状态事件                       |
| callback | Callback\<[DataFlowType](js-apis-telephony-data.md#dataflowtype)\> | 是   | 回调函数,参考data的[DataFlowType](js-apis-telephony-data.md#dataflowtype)。 |
C
clevercong 已提交
490

D
dingxiaochen 已提交
491 492 493 494 495 496 497 498 499 500 501
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。

| 错误码ID |                  错误信息                    |
| -------- | -------------------------------------------- |
| 401      | Parameter error.                             |
| 8300001  | Invalid parameter value.                     |
| 8300002  | Operation failed. Cannot connect to service. |
| 8300003  | System internal error.                       |
| 8300999  | Unknown error code.                          |

C
clevercong 已提交
502 503 504
**示例:**

```js
505 506
observer.on('cellularDataFlowChange', data => {
    console.log("on networkStateChange, data:" + JSON.stringify(data));
C
clevercong 已提交
507 508 509 510
});
```


511
## observer.on('cellularDataFlowChange')<sup>7+</sup>
C
clevercong 已提交
512

513
on\(type: 'cellularDataFlowChange', options: { slotId: number },  callback: Callback\<DataFlowType\>\): void;
C
clevercong 已提交
514

515
订阅指定卡槽位的蜂窝数据业务的上下行数据流状态,使用callback方式作为异步方法。
C
clevercong 已提交
516

517
**系统能力**:SystemCapability.Telephony.StateRegistry
C
clevercong 已提交
518 519 520

**参数:**

521 522 523 524 525
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 蜂窝数据业务的上下行数据流状态事件                           |
| slotId   | number                                                       | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2                       |
| callback | Callback\<[DataFlowType](js-apis-telephony-data.md#dataflowtype)\> | 是   | 回调函数,参考data的[DataFlowType](js-apis-telephony-data.md#dataflowtype)。 |
C
clevercong 已提交
526

D
dingxiaochen 已提交
527 528 529 530 531 532 533 534 535 536 537
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。

| 错误码ID |                  错误信息                    |
| -------- | -------------------------------------------- |
| 401      | Parameter error.                             |
| 8300001  | Invalid parameter value.                     |
| 8300002  | Operation failed. Cannot connect to service. |
| 8300003  | System internal error.                       |
| 8300999  | Unknown error code.                          |

C
clevercong 已提交
538 539 540
**示例:**

```js
541 542
observer.on('cellularDataFlowChange', {slotId: 0}, data => {
    console.log("on cellularDataFlowChange, data:" + JSON.stringify(data));
C
clevercong 已提交
543 544 545
});
```

C
clevercong 已提交
546

547
## observer.off('cellularDataFlowChange')<sup>7+</sup>
C
clevercong 已提交
548

549
off\(type: 'cellularDataFlowChange', callback?: Callback\<DataFlowType\>\): void;
C
clevercong 已提交
550

551
移除订阅蜂窝数据业务的上下行数据流状态,使用callback方式作为异步方法。
C
clevercong 已提交
552

553 554 555
>**说明:**
>
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
C
clevercong 已提交
556

557
**系统能力**:SystemCapability.Telephony.StateRegistry
C
clevercong 已提交
558 559 560

**参数:**

561 562 563 564
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 蜂窝数据业务的上下行数据流状态事件                           |
| callback | Callback\<[DataFlowType](js-apis-telephony-data.md#dataflowtype)\> | 否   | 回调函数,参考data的[DataFlowType](js-apis-telephony-data.md#dataflowtype)。 |
C
clevercong 已提交
565

D
dingxiaochen 已提交
566 567 568 569 570 571 572 573 574 575 576
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。

| 错误码ID |                  错误信息                    |
| -------- | -------------------------------------------- |
| 401      | Parameter error.                             |
| 8300001  | Invalid parameter value.                     |
| 8300002  | Operation failed. Cannot connect to service. |
| 8300003  | System internal error.                       |
| 8300999  | Unknown error code.                          |

C
clevercong 已提交
577 578 579
**示例:**

```js
580 581 582 583 584 585 586
let callback = data => {
    console.log("on cellularDataFlowChange, data:" + JSON.stringify(data));
}
observer.on('cellularDataFlowChange', callback);
// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
observer.off('cellularDataFlowChange', callback);
observer.off('cellularDataFlowChange');
C
clevercong 已提交
587 588 589
```


590
## observer.on('simStateChange')<sup>7+</sup>
C
clevercong 已提交
591

592
on\(type: 'simStateChange', callback: Callback\<SimStateData\>\): void;
C
clevercong 已提交
593

594
订阅sim状态更改事件,使用callback方式作为异步方法。
C
clevercong 已提交
595

596
**系统能力**:SystemCapability.Telephony.StateRegistry
C
clevercong 已提交
597 598 599

**参数:**

600 601 602 603
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | sim状态更改事件                                     |
| callback | Callback\<[SimStateData](#simstatedata7)\> | 是   | 回调函数。 |
C
clevercong 已提交
604

D
dingxiaochen 已提交
605 606 607
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。

608
| 错误码ID |                 错误信息                     |
D
dingxiaochen 已提交
609 610 611 612 613 614 615
| -------- | -------------------------------------------- |
| 401      | Parameter error.                             |
| 8300001  | Invalid parameter value.                     |
| 8300002  | Operation failed. Cannot connect to service. |
| 8300003  | System internal error.                       |
| 8300999  | Unknown error code.                          |

C
clevercong 已提交
616 617 618
**示例:**

```js
619 620
observer.on('simStateChange', data => {
    console.log("on simStateChange, data:" + JSON.stringify(data));
C
clevercong 已提交
621 622 623 624
});
```


625
## observer.on('simStateChange')<sup>7+</sup>
C
clevercong 已提交
626

627
on\(type: 'simStateChange', options: { slotId: number }, callback: Callback\<SimStateData\>\): void;
C
clevercong 已提交
628

629
订阅指定卡槽位的sim状态更改事件,使用callback方式作为异步方法。
C
clevercong 已提交
630

631
**系统能力**:SystemCapability.Telephony.StateRegistry
C
clevercong 已提交
632 633 634

**参数:**

635 636 637 638 639
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | sim状态更改事件                                     |
| slotId   | number                                                       | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2                       |
| callback | Callback\<[SimStateData](#simstatedata7)\> | 是   | 回调函数。 |
C
clevercong 已提交
640

D
dingxiaochen 已提交
641 642 643
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。

644
| 错误码ID |                 错误信息                     |
D
dingxiaochen 已提交
645 646 647 648 649 650 651
| -------- | -------------------------------------------- |
| 401      | Parameter error.                             |
| 8300001  | Invalid parameter value.                     |
| 8300002  | Operation failed. Cannot connect to service. |
| 8300003  | System internal error.                       |
| 8300999  | Unknown error code.                          |

C
clevercong 已提交
652 653 654
**示例:**

```js
655 656
observer.on('simStateChange', {slotId: 0}, data => {
    console.log("on simStateChange, data:" + JSON.stringify(data));
C
clevercong 已提交
657 658 659 660
});
```


661
## observer.off('simStateChange')<sup>7+</sup>
C
clevercong 已提交
662

663
off\(type: 'simStateChange', callback?: Callback\<SimStateData\>\): void;
C
clevercong 已提交
664

665
移除订阅sim状态更改事件,使用callback方式作为异步方法。
C
clevercong 已提交
666

667 668 669
>**说明:**
>
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
C
clevercong 已提交
670

671
**系统能力**:SystemCapability.Telephony.StateRegistry
C
clevercong 已提交
672 673 674

**参数:**

675 676 677 678
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | sim状态更改事件                                             |
| callback | Callback\<[SimStateData](#simstatedata7)\> | 否   | 回调函数。 |
C
clevercong 已提交
679

D
dingxiaochen 已提交
680 681 682
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。

683
| 错误码ID |                 错误信息                     |
D
dingxiaochen 已提交
684 685 686 687 688 689 690
| -------- | -------------------------------------------- |
| 401      | Parameter error.                             |
| 8300001  | Invalid parameter value.                     |
| 8300002  | Operation failed. Cannot connect to service. |
| 8300003  | System internal error.                       |
| 8300999  | Unknown error code.                          |

C
clevercong 已提交
691 692 693
**示例:**

```js
694 695 696 697 698 699 700
let callback = data => {
    console.log("on simStateChange, data:" + JSON.stringify(data));
}
observer.on('simStateChange', callback);
// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
observer.off('simStateChange', callback);
observer.off('simStateChange');
C
clevercong 已提交
701 702 703
```


704
## LockReason<sup>8+</sup>
C
clevercong 已提交
705

706
SIM卡锁类型。
C
clevercong 已提交
707

708
**系统能力**:SystemCapability.Telephony.StateRegistry
C
clevercong 已提交
709

710 711 712 713 714 715 716 717 718 719 720 721 722 723 724
| 名称        | 值   | 说明              |
| ----------- | ---- | ----------------- |
| SIM_NONE    | 0    | 无锁。            |
| SIM_PIN     | 1    | PIN锁。           |
| SIM_PUK     | 2    | PUK锁。           |
| SIM_PN_PIN  | 3    | 网络PIN锁。       |
| SIM_PN_PUK  | 4    | 网络PUK锁。       |
| SIM_PU_PIN  | 5    | 子网PIN锁。       |
| SIM_PU_PUK  | 6    | 子网PUK锁。       |
| SIM_PP_PIN  | 7    | 服务提供商PIN锁。 |
| SIM_PP_PUK  | 8    | 服务提供商PUK锁。 |
| SIM_PC_PIN  | 9    | 组织PIN锁。       |
| SIM_PC_PUK  | 10   | 组织PUK锁。       |
| SIM_SIM_PIN | 11   | SIM PIN锁。       |
| SIM_SIM_PUK | 12   | SIM PUK锁。       |
C
clevercong 已提交
725 726


727
## SimStateData<sup>7+</sup>
C
clevercong 已提交
728

729
SIM卡类型和状态。
C
clevercong 已提交
730

731
**系统能力**:SystemCapability.Telephony.StateRegistry
C
clevercong 已提交
732

733 734 735 736 737
|     名称            |                 类型                | 必填 | 说明                                                      |
| ------------------- | ----------------------------------- | ---- | --------------------------------------------------------  |
| type                | [CardType](js-apis-sim.md#cardtype7) | 是   | SIM卡类型。 |
| state               | [SimState](js-apis-sim.md#simstate) | 是   | SIM卡状态。 |
| reason<sup>8+</sup> | [LockReason](#lockreason8)          | 是   | SIM卡锁类型。                                             |
C
clevercong 已提交
738