• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.telephony.radio (网络搜索)
2
3网络搜索模块提供管理网络搜索的一些基础功能,包括获取当前接入的CS域和PS域无线接入技术、获取网络状态、获取当前选网模式、获取注册网络所在国家的ISO国家码、获取主卡所在卡槽的索引号、获取指定SIM卡槽对应的注册网络信号强度信息列表、获取运营商名称,判断当前设备是否支持NR(New Radio)、判断主卡的Radio是否打开等。
4
5> **说明:**
6>
7> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
9
10## 导入模块
11
12```ts
13import { radio } from '@kit.TelephonyKit';
14```
15
16## radio.getRadioTech
17
18getRadioTech\(slotId: number, callback: AsyncCallback<[NetworkRadioTech](#networkradiotech11)\>\): void
19
20获取当前接入的CS域和PS域无线接入技术。使用callback异步回调。
21
22**需要权限**:ohos.permission.GET_NETWORK_INFO
23
24**系统能力**:SystemCapability.Telephony.CoreService
25
26**参数:**
27
28| 参数名   | 类型                                                         | 必填 | 说明                                   |
29| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
30| slotId   | number                                                       | 是   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。 |
31| callback | AsyncCallback\<[NetworkRadioTech](#networkradiotech11)\> | 是   | 回调函数。返回当前接入的CS域和PS域无线接入技术。 |
32
33**错误码:**
34
35以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[ohos.telephony(电话子系统)错误码](errorcode-telephony.md)。
36
37| 错误码ID |                  错误信息                    |
38| -------- | -------------------------------------------- |
39| 201      | Permission denied.                           |
40| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.                             |
41| 8300001  | Invalid parameter value.                     |
42| 8300002  | Service connection failed.                   |
43| 8300003  | System internal error.                       |
44| 8300999  | Unknown error.                               |
45
46**示例:**
47
48```ts
49import { BusinessError } from '@kit.BasicServicesKit';
50
51let slotId: number = 0;
52radio.getRadioTech(slotId, (err: BusinessError, data: radio.NetworkRadioTech) => {
53    if (err) {
54        console.error(`getRadioTech failed, callback: err->${JSON.stringify(err)}`);
55        return;
56    }
57    console.log(`getRadioTech success, callback: data->${JSON.stringify(data)}`);
58});
59```
60
61
62## radio.getRadioTech
63
64getRadioTech\(slotId: number\): Promise\<[NetworkRadioTech](#networkradiotech11)\>
65
66获取当前接入的CS域和PS域无线接入技术。使用Promise异步回调。
67
68**需要权限**:ohos.permission.GET_NETWORK_INFO
69
70**系统能力**:SystemCapability.Telephony.CoreService
71
72**参数:**
73
74| 参数名 | 类型   | 必填 | 说明                                   |
75| ------ | ------ | ---- | -------------------------------------- |
76| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。 |
77
78**返回值:**
79
80| 类型                                                         | 说明                                            |
81| ------------------------------------------------------------ | ----------------------------------------------- |
82| Promise\<[NetworkRadioTech](#networkradiotech11)\> | 以Promise形式返回当前接入的CS域和PS域技术。 |
83
84**错误码:**
85
86以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[ohos.telephony(电话子系统)错误码](errorcode-telephony.md)。
87
88| 错误码ID |                  错误信息                    |
89| -------- | -------------------------------------------- |
90| 201      | Permission denied.                           |
91| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.                             |
92| 8300001  | Invalid parameter value.                     |
93| 8300002  | Service connection failed.                   |
94| 8300003  | System internal error.                       |
95| 8300999  | Unknown error.                               |
96
97**示例:**
98
99```ts
100import { BusinessError } from '@kit.BasicServicesKit';
101
102let slotId: number = 0;
103radio.getRadioTech(slotId).then((data: radio.NetworkRadioTech) => {
104    console.log(`getRadioTech success, promise: data->${JSON.stringify(data)}`);
105}).catch((err: BusinessError) => {
106    console.error(`getRadioTech failed, promise: err->${JSON.stringify(err)}`);
107});
108```
109
110
111## radio.getRadioTechSync<sup>18+</sup>
112
113getRadioTechSync\(slotId: number\): [NetworkRadioTech](#networkradiotech11)
114
115获取当前接入的CS域和PS域无线接入技术。
116
117**需要权限**:ohos.permission.GET_NETWORK_INFO
118
119**系统能力**:SystemCapability.Telephony.CoreService
120
121**参数:**
122
123| 参数名 | 类型   | 必填 | 说明                                   |
124| ------ | ------ | ---- | -------------------------------------- |
125| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。 |
126
127**返回值:**
128
129| 类型                                                         | 说明                                            |
130| ------------------------------------------------------------ | ----------------------------------------------- |
131| [NetworkRadioTech](#networkradiotech11) | 返回当前接入的CS域和PS域技术。 |
132
133**示例:**
134
135```ts
136let slotId: number = 0;
137let networkRadioTech: radio.NetworkRadioTech = radio.getRadioTechSync(slotId);
138console.info(`getRadioTechSync success, NetworkRadioTech->${JSON.stringify(networkRadioTech)}`);
139```
140
141
142## radio.getNetworkState
143
144getNetworkState\(callback: AsyncCallback\<NetworkState\>\): void
145
146获取网络状态。使用callback异步回调。
147
148**需要权限**:ohos.permission.GET_NETWORK_INFO
149
150**系统能力**:SystemCapability.Telephony.CoreService
151
152**参数:**
153
154| 参数名   | 类型                                           | 必填 | 说明       |
155| -------- | ---------------------------------------------- | ---- | ---------- |
156| callback | AsyncCallback\<[NetworkState](#networkstate)\> | 是   | 回调函数。返回当前网络状态。 |
157
158**错误码:**
159
160以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[ohos.telephony(电话子系统)错误码](errorcode-telephony.md)。
161
162| 错误码ID |                  错误信息                    |
163| -------- | -------------------------------------------- |
164| 201      | Permission denied.                           |
165| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.                             |
166| 8300001  | Invalid parameter value.                     |
167| 8300002  | Service connection failed.                   |
168| 8300003  | System internal error.                       |
169| 8300999  | Unknown error.                               |
170
171**示例:**
172
173```ts
174import { BusinessError } from '@kit.BasicServicesKit';
175
176radio.getNetworkState((err: BusinessError, data: radio.NetworkState) => {
177    if (err) {
178        console.error(`getNetworkState failed, callback: err->${JSON.stringify(err)}`);
179        return;
180    }
181    console.log(`getNetworkState success, callback: data->${JSON.stringify(data)}`);
182});
183```
184
185
186## radio.getNetworkState
187
188getNetworkState\(slotId: number, callback: AsyncCallback\<NetworkState\>\): void
189
190获取网络状态。使用callback异步回调。
191
192**需要权限**:ohos.permission.GET_NETWORK_INFO
193
194**系统能力**:SystemCapability.Telephony.CoreService
195
196**参数:**
197
198| 参数名   | 类型                                           | 必填 | 说明                                   |
199| -------- | ---------------------------------------------- | ---- | -------------------------------------- |
200| slotId   | number                                         | 是   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。 |
201| callback | AsyncCallback\<[NetworkState](#networkstate)\> | 是   | 回调函数。返回当前网络状态。                             |
202
203**错误码:**
204
205以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[ohos.telephony(电话子系统)错误码](errorcode-telephony.md)。
206
207| 错误码ID |                  错误信息                    |
208| -------- | -------------------------------------------- |
209| 201      | Permission denied.                           |
210| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.                             |
211| 8300001  | Invalid parameter value.                     |
212| 8300002  | Service connection failed.                   |
213| 8300003  | System internal error.                       |
214| 8300999  | Unknown error.                               |
215
216**示例:**
217
218```ts
219import { BusinessError } from '@kit.BasicServicesKit';
220
221let slotId: number = 0;
222radio.getNetworkState(slotId, (err: BusinessError, data: radio.NetworkState) => {
223    if (err) {
224        console.error(`getNetworkState failed, callback: err->${JSON.stringify(err)}`);
225        return;
226    }
227    console.log(`getNetworkState success, callback: data->${JSON.stringify(data)}`);
228});
229```
230
231
232## radio.getNetworkState
233
234getNetworkState\(slotId?: number\): Promise\<NetworkState\>
235
236获取网络状态。使用Promise异步回调。
237
238**需要权限**:ohos.permission.GET_NETWORK_INFO
239
240**系统能力**:SystemCapability.Telephony.CoreService
241
242**参数:**
243
244| 参数名 | 类型   | 必填 | 说明                                   |
245| ------ | ------ | ---- | -------------------------------------- |
246| slotId | number | 否   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。<br/> 未指定卡槽时,默认为卡槽1。 |
247
248**返回值:**
249
250| 类型                                     | 说明                        |
251| ---------------------------------------- | --------------------------- |
252| Promise\<[NetworkState](#networkstate)\> | 以Promise形式返回网络状态。 |
253
254**错误码:**
255
256以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[ohos.telephony(电话子系统)错误码](errorcode-telephony.md)。
257
258| 错误码ID |                  错误信息                    |
259| -------- | -------------------------------------------- |
260| 201      | Permission denied.                           |
261| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.                             |
262| 8300001  | Invalid parameter value.                     |
263| 8300002  | Service connection failed.                   |
264| 8300003  | System internal error.                       |
265| 8300999  | Unknown error.                               |
266
267**示例:**
268
269```ts
270import { BusinessError } from '@kit.BasicServicesKit';
271
272let slotId: number = 0;
273radio.getNetworkState(slotId).then((data: radio.NetworkState) => {
274    console.log(`getNetworkState success, promise: data->${JSON.stringify(data)}`);
275}).catch((err: BusinessError) => {
276    console.error(`getNetworkState failed, promise: err->${JSON.stringify(err)}`);
277});
278```
279
280
281## radio.getNetworkSelectionMode
282
283getNetworkSelectionMode\(slotId: number, callback: AsyncCallback\<NetworkSelectionMode\>\): void
284
285获取当前选网模式。使用callback异步回调。
286
287**系统能力**:SystemCapability.Telephony.CoreService
288
289**参数:**
290
291| 参数名   | 类型                                                         | 必填 | 说明                                   |
292| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
293| slotId   | number                                                       | 是   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。 |
294| callback | AsyncCallback\<[NetworkSelectionMode](#networkselectionmode)\> | 是   | 回调函数。返回当前选网模式。                             |
295
296**错误码:**
297
298以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[ohos.telephony(电话子系统)错误码](errorcode-telephony.md)。
299
300| 错误码ID |                 错误信息                     |
301| -------- | -------------------------------------------- |
302| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.                             |
303| 8300001  | Invalid parameter value.                     |
304| 8300002  | Service connection failed.                   |
305| 8300003  | System internal error.                       |
306| 8300999  | Unknown error.                               |
307
308**示例:**
309
310```ts
311import { BusinessError } from '@kit.BasicServicesKit';
312
313let slotId: number = 0;
314radio.getNetworkSelectionMode(slotId, (err: BusinessError, data: radio.NetworkSelectionMode) => {
315    if (err) {
316        console.error(`getNetworkSelectionMode failed, callback: err->${JSON.stringify(err)}`);
317        return;
318    }
319    console.log(`getNetworkSelectionMode success, callback: data->${JSON.stringify(data)}`);
320});
321```
322
323
324## radio.getNetworkSelectionMode
325
326getNetworkSelectionMode\(slotId: number\): Promise\<NetworkSelectionMode\>
327
328获取当前选网模式。使用Promise异步回调。
329
330**系统能力**:SystemCapability.Telephony.CoreService
331
332**参数:**
333
334| 参数名 | 类型   | 必填 | 说明                                   |
335| ------ | ------ | ---- | -------------------------------------- |
336| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。 |
337
338**返回值:**
339
340| 类型                                                     | 说明                            |
341| -------------------------------------------------------- | ------------------------------- |
342| Promise\<[NetworkSelectionMode](#networkselectionmode)\> | 以Promise形式返回当前选网模式。 |
343
344**错误码:**
345
346以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[ohos.telephony(电话子系统)错误码](errorcode-telephony.md)。
347
348| 错误码ID |                 错误信息                     |
349| -------- | -------------------------------------------- |
350| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.                             |
351| 8300001  | Invalid parameter value.                     |
352| 8300002  | Service connection failed.                   |
353| 8300003  | System internal error.                       |
354| 8300999  | Unknown error.                               |
355
356**示例:**
357
358```ts
359import { BusinessError } from '@kit.BasicServicesKit';
360
361let slotId: number = 0;
362radio.getNetworkSelectionMode(slotId).then((data: radio.NetworkSelectionMode) => {
363    console.log(`getNetworkSelectionMode success, promise: data->${JSON.stringify(data)}`);
364}).catch((err: BusinessError) => {
365    console.error(`getNetworkSelectionMode failed, promise: err->${JSON.stringify(err)}`);
366});
367```
368
369
370## radio.getISOCountryCodeForNetwork<sup>7+</sup>
371
372getISOCountryCodeForNetwork\(slotId: number, callback: AsyncCallback\<string\>\): void
373
374获取注册网络所在国家的ISO国家码。使用callback异步回调。
375
376**系统能力**:SystemCapability.Telephony.CoreService
377
378**参数:**
379
380| 参数名   | 类型                    | 必填 | 说明                                     |
381| -------- | ----------------------- | ---- | ---------------------------------------- |
382| slotId   | number                  | 是   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。   |
383| callback | AsyncCallback\<string\> | 是   | 回调函数。返回国家码,例如:CN(中国)。如果设备没有注册任何网络,接口返回空字符串。|
384
385**错误码:**
386
387以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[ohos.telephony(电话子系统)错误码](errorcode-telephony.md)。
388
389| 错误码ID |                 错误信息                     |
390| -------- | -------------------------------------------- |
391| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.                             |
392| 8300001  | Invalid parameter value.                     |
393| 8300002  | Service connection failed.                   |
394| 8300003  | System internal error.                       |
395| 8300999  | Unknown error.                               |
396
397**示例:**
398
399```ts
400import { BusinessError } from '@kit.BasicServicesKit';
401
402let slotId: number = 0;
403radio.getISOCountryCodeForNetwork(slotId, (err: BusinessError, data: string) => {
404    if (err) {
405        console.error(`getISOCountryCodeForNetwork failed, callback: err->${JSON.stringify(err)}`);
406        return;
407    }
408    console.log(`getISOCountryCodeForNetwork success, callback: data->${JSON.stringify(data)}`);
409});
410```
411
412
413## radio.getISOCountryCodeForNetwork<sup>7+</sup>
414
415getISOCountryCodeForNetwork\(slotId: number\): Promise\<string\>
416
417获取注册网络所在国家的ISO国家码。使用Promise异步回调。
418
419**系统能力**:SystemCapability.Telephony.CoreService
420
421**参数:**
422
423| 参数名 | 类型   | 必填 | 说明                                   |
424| ------ | ------ | ---- | -------------------------------------- |
425| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。 |
426
427**返回值:**
428
429| 类型              | 说明                                                         |
430| ----------------- | ------------------------------------------------------------ |
431| Promise\<string\> | 以Promise形式返回注册网络所在国家的ISO国家码,例如CN(中国)。如果设备没有注册任何网络,接口返回空字符串。|
432
433**错误码:**
434
435以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[ohos.telephony(电话子系统)错误码](errorcode-telephony.md)。
436
437| 错误码ID |                 错误信息                     |
438| -------- | -------------------------------------------- |
439| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.                             |
440| 8300001  | Invalid parameter value.                     |
441| 8300002  | Service connection failed.                   |
442| 8300003  | System internal error.                       |
443| 8300999  | Unknown error.                               |
444
445**示例:**
446
447```ts
448import { BusinessError } from '@kit.BasicServicesKit';
449
450let slotId: number = 0;
451radio.getISOCountryCodeForNetwork(slotId).then((data: string) => {
452    console.log(`getISOCountryCodeForNetwork success, promise: data->${JSON.stringify(data)}`);
453}).catch((err: BusinessError) => {
454    console.error(`getISOCountryCodeForNetwork failed, promise: err->${JSON.stringify(err)}`);
455});
456```
457
458## radio.getISOCountryCodeForNetworkSync<sup>10+</sup>
459
460getISOCountryCodeForNetworkSync\(slotId: number\): string
461
462获取注册网络所在国家的ISO国家码。
463
464**系统能力**:SystemCapability.Telephony.CoreService
465
466**参数:**
467
468| 参数名 | 类型   | 必填 | 说明                                   |
469| ------ | ------ | ---- | -------------------------------------- |
470| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。 |
471
472**返回值:**
473
474| 类型              | 说明                                                         |
475| ----------------- | ------------------------------------------------------------ |
476| string | 返回注册网络所在国家的ISO国家码,例如CN(中国)。如果设备没有注册任何网络,接口返回空字符串。|
477
478**示例:**
479
480```ts
481let slotId: number = 0;
482let countryISO: string = radio.getISOCountryCodeForNetworkSync(slotId);
483console.log(`the country ISO is:` + countryISO);
484```
485
486
487
488## radio.getPrimarySlotId<sup>7+</sup>
489
490getPrimarySlotId\(callback: AsyncCallback\<number\>\): void
491
492获取主卡所在卡槽的索引号。使用callback异步回调。
493
494**系统能力**:SystemCapability.Telephony.CoreService
495
496**参数:**
497
498| 参数名   | 类型                                                         | 必填 | 说明                                                         |
499| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
500| callback | AsyncCallback\<number\> | 是   | 回调函数。返回主卡所在卡槽的索引号。 |
501
502**错误码:**
503
504以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[ohos.telephony(电话子系统)错误码](errorcode-telephony.md)。
505
506| 错误码ID |                 错误信息                     |
507| -------- | -------------------------------------------- |
508| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.                             |
509| 8300001  | Invalid parameter value.                     |
510| 8300002  | Service connection failed.                   |
511| 8300003  | System internal error.                       |
512| 8300999  | Unknown error.                               |
513
514**示例:**
515
516```ts
517import { BusinessError } from '@kit.BasicServicesKit';
518
519radio.getPrimarySlotId((err: BusinessError, data: number) => {
520    if (err) {
521        console.error(`getPrimarySlotId failed, callback: err->${JSON.stringify(err)}`);
522        return;
523    }
524    console.log(`getPrimarySlotId success, callback: data->${JSON.stringify(data)}`);
525});
526```
527
528
529## radio.getPrimarySlotId<sup>7+</sup>
530
531getPrimarySlotId\(\): Promise\<number\>
532
533获取主卡所在卡槽的索引号。使用Promise异步回调。
534
535**系统能力**:SystemCapability.Telephony.CoreService
536
537**返回值:**
538
539| 类型                                                        | 说明                                                         |
540| ----------------------------------------------------------- | ------------------------------------------------------------ |
541| Promise\<number\> | 以Promise形式返回获取设备主卡所在卡槽的索引号的结果。 |
542
543**错误码:**
544
545以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](errorcode-telephony.md)。
546
547| 错误码ID |                 错误信息                     |
548| -------- | -------------------------------------------- |
549| 8300002  | Service connection failed.                   |
550| 8300003  | System internal error.                       |
551| 8300999  | Unknown error.                               |
552
553**示例:**
554
555```ts
556import { BusinessError } from '@kit.BasicServicesKit';
557
558radio.getPrimarySlotId().then((data: number) => {
559    console.log(`getPrimarySlotId success, promise: data->${JSON.stringify(data)}`);
560}).catch((err: BusinessError) => {
561    console.error(`getPrimarySlotId failed, promise: err->${JSON.stringify(err)}`);
562});
563```
564
565
566## radio.getSignalInformation<sup>7+</sup>
567
568getSignalInformation\(slotId: number, callback: AsyncCallback\<Array\<SignalInformation\>\>\): void
569
570获取指定SIM卡槽对应的注册网络信号强度信息列表。使用callback异步回调。
571
572**系统能力**:SystemCapability.Telephony.CoreService
573
574**参数:**
575
576| 参数名   | 类型                                                         | 必填 | 说明                                                         |
577| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
578| slotId   | number                                                       | 是   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。                       |
579| callback | AsyncCallback\<Array\<[SignalInformation](#signalinformation)\>\> | 是   | 回调函数,返回从[SignalInformation](#signalinformation)中派生出的子类对象的数组。|
580
581**错误码:**
582
583以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[ohos.telephony(电话子系统)错误码](errorcode-telephony.md)。
584
585| 错误码ID |                 错误信息                     |
586| -------- | -------------------------------------------- |
587| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.                             |
588| 8300001  | Invalid parameter value.                     |
589| 8300002  | Service connection failed.                   |
590| 8300003  | System internal error.                       |
591| 8300999  | Unknown error.                               |
592
593**示例:**
594
595```ts
596import { BusinessError } from '@kit.BasicServicesKit';
597
598let slotId: number = 0;
599radio.getSignalInformation(slotId, (err: BusinessError, data: Array<radio.SignalInformation>) => {
600    if (err) {
601        console.error(`getSignalInformation failed, callback: err->${JSON.stringify(err)}`);
602        return;
603    }
604    console.log(`getSignalInformation success, callback: data->${JSON.stringify(data)}`);
605});
606```
607
608
609## radio.getSignalInformation<sup>7+</sup>
610
611getSignalInformation\(slotId: number\): Promise\<Array\<SignalInformation\>\>
612
613获取指定SIM卡槽对应的注册网络信号强度信息列表。使用Promise异步回调。
614
615**系统能力**:SystemCapability.Telephony.CoreService
616
617**参数:**
618
619| 参数名 | 类型   | 必填 | 说明                                   |
620| ------ | ------ | ---- | -------------------------------------- |
621| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。 |
622
623**返回值:**
624
625| 类型                                                        | 说明                                                         |
626| ----------------------------------------------------------- | ------------------------------------------------------------ |
627| Promise\<Array\<[SignalInformation](#signalinformation)\>\> | 以Promise形式返回网络信号强度[SignalInformation](#signalinformation)子类对象的数组。|
628
629**错误码:**
630
631以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[ohos.telephony(电话子系统)错误码](errorcode-telephony.md)。
632
633| 错误码ID |                 错误信息                     |
634| -------- | -------------------------------------------- |
635| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.                             |
636| 8300001  | Invalid parameter value.                     |
637| 8300002  | Service connection failed.                   |
638| 8300003  | System internal error.                       |
639| 8300999  | Unknown error.                               |
640
641**示例:**
642
643```ts
644import { BusinessError } from '@kit.BasicServicesKit';
645
646let slotId: number = 0;
647radio.getSignalInformation(slotId).then((data: Array<radio.SignalInformation>) => {
648    console.log(`getSignalInformation success, promise: data->${JSON.stringify(data)}`);
649}).catch((err: BusinessError) => {
650    console.error(`getSignalInformation failed, promise: err->${JSON.stringify(err)}`);
651});
652```
653
654## radio.getSignalInformationSync<sup>10+</sup>
655
656getSignalInformationSync\(slotId: number\): Array\<SignalInformation\>
657
658获取指定SIM卡槽对应的注册网络信号强度信息列表。
659
660**系统能力**:SystemCapability.Telephony.CoreService
661
662**参数:**
663
664| 参数名 | 类型   | 必填 | 说明                                   |
665| ------ | ------ | ---- | -------------------------------------- |
666| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。 |
667
668**返回值:**
669
670| 类型                                                        | 说明                                                         |
671| ----------------------------------------------------------- | ------------------------------------------------------------ |
672| Array\<[SignalInformation](#signalinformation)\>| 返回网络信号强度[SignalInformation](#signalinformation)子类对象的数组。|
673
674
675**示例:**
676
677```ts
678let slotId: number = 0;
679let signalInfo: Array<radio.SignalInformation> = radio.getSignalInformationSync(slotId);
680console.log(`signal information size is:` + signalInfo.length);
681```
682
683## radio.isNrSupported<sup>8+(deprecated)</sup>
684
685isNrSupported\(\): boolean
686
687判断当前设备是否支持NR(New Radio)。
688
689> **说明:**
690>
691> 从 API version 7开始支持,从API version 9开始废弃。建议使用[isNRSupported](#radioisnrsupported9)替代。
692
693**系统能力**:SystemCapability.Telephony.CoreService
694
695**返回值:**
696
697| 类型    | 说明                             |
698| ------- | -------------------------------- |
699| boolean | - true:支持。<br/>- false:不支持。 |
700
701**示例:**
702
703```ts
704let result: boolean = radio.isNrSupported();
705console.log("Result: "+ result);
706```
707
708## radio.isNrSupported<sup>(deprecated)</sup>
709
710isNrSupported\(slotId: number\): boolean
711
712判断当前设备是否支持NR(New Radio)。
713
714> **说明:**
715>
716> 从 API version 8开始支持,从API version 9开始废弃。建议使用[isNRSupported](#radioisnrsupported9-1)替代。
717
718**系统能力**:SystemCapability.Telephony.CoreService
719
720**参数:**
721
722| 参数名 | 类型   | 必填 | 说明                                   |
723| ------ | ------ | ---- | -------------------------------------- |
724| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。 |
725
726**返回值:**
727
728| 类型               | 说明                                                         |
729| ------------------ | ------------------------------------------------------------ |
730| boolean | - true:支持。<br/>- false:不支持。 |
731
732**示例:**
733
734```ts
735let slotId: number = 0;
736let result: boolean = radio.isNrSupported(slotId);
737console.log("Result: "+ result);
738```
739
740
741## radio.isNRSupported<sup>9+</sup>
742
743isNRSupported\(\): boolean
744
745判断当前设备是否支持NR(New Radio)。
746
747**系统能力**:SystemCapability.Telephony.CoreService
748
749**返回值:**
750
751| 类型    | 说明                             |
752| ------- | -------------------------------- |
753| boolean | - true:支持。<br/>- false:不支持。 |
754
755**示例:**
756
757```ts
758let result: boolean = radio.isNRSupported();
759console.log("Result: "+ result);
760```
761
762
763## radio.isNRSupported<sup>9+</sup>
764
765isNRSupported\(slotId: number\): boolean
766
767判断当前设备是否支持NR(New Radio)。
768
769**系统能力**:SystemCapability.Telephony.CoreService
770
771**参数:**
772
773| 参数名 | 类型   | 必填 | 说明                                   |
774| ------ | ------ | ---- | -------------------------------------- |
775| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。 |
776
777**返回值:**
778
779| 类型               | 说明                                                         |
780| ------------------ | ------------------------------------------------------------ |
781| boolean | - true:支持。<br/>- false:不支持。 |
782
783**示例:**
784
785```ts
786let slotId: number = 0;
787let result: boolean = radio.isNRSupported(slotId);
788console.log("Result: "+ result);
789```
790
791
792## radio.isRadioOn<sup>7+</sup>
793
794isRadioOn\(callback: AsyncCallback\<boolean\>\): void
795
796判断主卡的Radio是否打开。使用callback异步回调。
797
798**需要权限**:ohos.permission.GET_NETWORK_INFO
799
800**系统能力**:SystemCapability.Telephony.CoreService
801
802**参数:**
803
804| 参数名   | 类型                     | 必填 | 说明                                                    |
805| -------- | ------------------------ | ---- | ------------------------------------------------------- |
806| callback | AsyncCallback\<boolean\> | 是   | 回调函数。返回主卡的Radio状态。<br/>- true:Radio打开。<br/>- false:Radio关闭。 |
807
808**错误码:**
809
810以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[ohos.telephony(电话子系统)错误码](errorcode-telephony.md)。
811
812| 错误码ID |                  错误信息                    |
813| -------- | -------------------------------------------- |
814| 201      | Permission denied.                           |
815| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.                             |
816| 8300001  | Invalid parameter value.                     |
817| 8300002  | Service connection failed.                   |
818| 8300003  | System internal error.                       |
819| 8300999  | Unknown error.                               |
820
821**示例:**
822
823```ts
824import { BusinessError } from '@kit.BasicServicesKit';
825
826radio.isRadioOn((err: BusinessError, data: boolean) => {
827    if (err) {
828        console.error(`isRadioOn failed, callback: err->${JSON.stringify(err)}`);
829        return;
830    }
831    console.log(`isRadioOn success, callback: data->${JSON.stringify(data)}`);
832});
833```
834
835
836## radio.isRadioOn<sup>7+</sup>
837
838isRadioOn\(slotId: number, callback: AsyncCallback\<boolean\>\): void
839
840判断指定卡槽位的Radio是否打开。使用callback异步回调。
841
842**需要权限**:ohos.permission.GET_NETWORK_INFO
843
844**系统能力**:SystemCapability.Telephony.CoreService
845
846**参数:**
847
848| 参数名   | 类型                     | 必填 | 说明                                                    |
849| -------- | ------------------------ | ---- | ------------------------------------------------------- |
850| slotId   | number                   | 是   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。                  |
851| callback | AsyncCallback\<boolean\> | 是   | 回调函数。返回指定卡槽的Radio状态。<br/>- true:Radio打开。<br/>- false:Radio关闭。 |
852
853**错误码:**
854
855以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[ohos.telephony(电话子系统)错误码](errorcode-telephony.md)。
856
857| 错误码ID |                  错误信息                    |
858| -------- | -------------------------------------------- |
859| 201      | Permission denied.                           |
860| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.                             |
861| 8300001  | Invalid parameter value.                     |
862| 8300002  | Service connection failed.                   |
863| 8300003  | System internal error.                       |
864| 8300999  | Unknown error.                               |
865
866**示例:**
867
868```ts
869import { BusinessError } from '@kit.BasicServicesKit';
870
871let slotId: number = 0;
872radio.isRadioOn(slotId, (err: BusinessError, data: boolean) => {
873    if (err) {
874        console.error(`isRadioOn failed, callback: err->${JSON.stringify(err)}`);
875        return;
876    }
877    console.log(`isRadioOn success, callback: data->${JSON.stringify(data)}`);
878});
879```
880
881
882## radio.isRadioOn<sup>7+</sup>
883
884isRadioOn\(slotId?: number\): Promise\<boolean\>
885
886判断Radio是否打开。使用Promise异步回调。
887
888**需要权限**:ohos.permission.GET_NETWORK_INFO
889
890**系统能力**:SystemCapability.Telephony.CoreService
891
892**参数:**
893
894| 参数名 | 类型   | 必填 | 说明                                   |
895| ------ | ------ | ---- | -------------------------------------- |
896| slotId | number | 否   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。<br/>如果不指定slotId,默认判断主卡Radio是否打开 |
897
898**返回值:**
899
900| 类型               | 说明                                                         |
901| ------------------ | ------------------------------------------------------------ |
902| Promise\<boolean\> | 以Promise形式返回判断Radio是否打开的结果。<br/>- true:Radio打开。<br/>- false:Radio关闭。 |
903
904**错误码:**
905
906以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[ohos.telephony(电话子系统)错误码](errorcode-telephony.md)。
907
908| 错误码ID |                  错误信息                    |
909| -------- | -------------------------------------------- |
910| 201      | Permission denied.                           |
911| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.                             |
912| 8300001  | Invalid parameter value.                     |
913| 8300002  | Service connection failed.                   |
914| 8300003  | System internal error.                       |
915| 8300999  | Unknown error.                               |
916
917**示例:**
918
919```ts
920import { BusinessError } from '@kit.BasicServicesKit';
921
922let slotId: number = 0;
923radio.isRadioOn(slotId).then((data: boolean) => {
924    console.log(`isRadioOn success, promise: data->${JSON.stringify(data)}`);
925}).catch((err: BusinessError) => {
926    console.error(`isRadioOn failed, promise: err->${JSON.stringify(err)}`);
927});
928```
929
930
931## radio.getOperatorName<sup>7+</sup>
932
933getOperatorName\(slotId: number, callback: AsyncCallback\<string\>\): void
934
935获取运营商名称。使用callback异步回调。
936
937**系统能力**:SystemCapability.Telephony.CoreService
938
939**参数:**
940
941| 参数名   | 类型                    | 必填 | 说明                                       |
942| -------- | ----------------------- | ---- | ------------------------------------------ |
943| slotId   | number                  | 是   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。     |
944| callback | AsyncCallback\<string\> | 是   | 回调函数,返回运营商名称。例如:中国移动。 |
945
946**错误码:**
947
948以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[ohos.telephony(电话子系统)错误码](errorcode-telephony.md)。
949
950| 错误码ID |                 错误信息                     |
951| -------- | -------------------------------------------- |
952| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.                             |
953| 8300001  | Invalid parameter value.                     |
954| 8300002  | Service connection failed.                   |
955| 8300003  | System internal error.                       |
956| 8300999  | Unknown error.                               |
957
958**示例:**
959
960```ts
961import { BusinessError } from '@kit.BasicServicesKit';
962
963let slotId: number = 0;
964radio.getOperatorName(slotId, (err: BusinessError, data: string) => {
965    if (err) {
966        console.error(`getOperatorName failed, callback: err->${JSON.stringify(err)}`);
967        return;
968    }
969    console.log(`getOperatorName success, callback: data->${JSON.stringify(data)}`);
970});
971```
972
973
974## radio.getOperatorName<sup>7+</sup>
975
976getOperatorName\(slotId: number\): Promise\<string\>
977
978获取运营商名称。使用Promise异步回调。
979
980**系统能力**:SystemCapability.Telephony.CoreService
981
982**参数:**
983
984| 参数名 | 类型   | 必填 | 说明                                   |
985| ------ | ------ | ---- | -------------------------------------- |
986| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。 |
987
988**返回值:**
989
990| 类型              | 说明                                                         |
991| ----------------- | ------------------------------------------------------------ |
992| Promise\<string\> | 以Promise形式返回运营商名称。例如:中国移动。                |
993
994**错误码:**
995
996以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[ohos.telephony(电话子系统)错误码](errorcode-telephony.md)。
997
998| 错误码ID |                 错误信息                     |
999| -------- | -------------------------------------------- |
1000| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.                             |
1001| 8300001  | Invalid parameter value.                     |
1002| 8300002  | Service connection failed.                   |
1003| 8300003  | System internal error.                       |
1004| 8300999  | Unknown error.                               |
1005
1006**示例:**
1007
1008```ts
1009import { BusinessError } from '@kit.BasicServicesKit';
1010
1011let slotId: number = 0;
1012radio.getOperatorName(slotId).then((data: string) => {
1013    console.log(`getOperatorName success, promise: data->${JSON.stringify(data)}`);
1014}).catch((err: BusinessError) => {
1015    console.error(`getOperatorName failed, promise: err->${JSON.stringify(err)}`);
1016});
1017```
1018
1019## radio.getOperatorNameSync<sup>10+</sup>
1020
1021getOperatorNameSync\(slotId: number\): string
1022
1023获取运营商名称。
1024
1025**系统能力**:SystemCapability.Telephony.CoreService
1026
1027**参数:**
1028
1029| 参数名 | 类型   | 必填 | 说明                                   |
1030| ------ | ------ | ---- | -------------------------------------- |
1031| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。 |
1032
1033**返回值:**
1034
1035| 类型              | 说明                                                         |
1036| ----------------- | ------------------------------------------------------------ |
1037| string | 返回运营商名称。例如:中国移动。                |
1038
1039
1040**示例:**
1041
1042```ts
1043let slotId: number = 0;
1044let operatorName: string = radio.getOperatorNameSync(slotId);
1045console.log(`operator name is:` + operatorName);
1046```
1047
1048
1049## NetworkRadioTech<sup>11+</sup>
1050
1051网络中packet service (PS) 和 circuit service (CS) 无线接入技术。
1052
1053**系统能力**:SystemCapability.Telephony.CoreService
1054
1055|      名称       |           类型              | 必填 |      说明          |
1056| --------------- | --------------------------- | ---- | ------------------ |
1057| psRadioTech     | [RadioTechnology](#radiotechnology) | 是   | PS无线接入技术。 |
1058| csRadioTech     | [RadioTechnology](#radiotechnology) | 是   | CS无线接入技术。 |
1059
1060## RadioTechnology
1061
1062无线接入技术。
1063
1064**系统能力**:SystemCapability.Telephony.CoreService
1065
1066| 名称                      | 值   | 说明                                                         |
1067| ------------------------- | ---- | ------------------------------------------------------------ |
1068| RADIO_TECHNOLOGY_UNKNOWN  | 0    | 未知无线接入技术(RAT)。                                    |
1069| RADIO_TECHNOLOGY_GSM      | 1    | 无线接入技术GSM(Global System For Mobile Communication)。  |
1070| RADIO_TECHNOLOGY_1XRTT    | 2    | 无线接入技术1XRTT(Single-Carrier Radio Transmission Technology)。 |
1071| RADIO_TECHNOLOGY_WCDMA    | 3    | 无线接入技术WCDMA(Wideband Code Division Multiple Access)。 |
1072| RADIO_TECHNOLOGY_HSPA     | 4    | 无线接入技术HSPA(High Speed Packet Access)。               |
1073| RADIO_TECHNOLOGY_HSPAP    | 5    | 无线接入技术HSPAP(High Speed packet access (HSPA+) )。     |
1074| RADIO_TECHNOLOGY_TD_SCDMA | 6    | 无线接入技术TD_SCDMA(TimeDivision-Synchronous Code Division Multiple Access)。 |
1075| RADIO_TECHNOLOGY_EVDO     | 7    | 无线接入技术EVDO(Evolution Data Only)。                   |
1076| RADIO_TECHNOLOGY_EHRPD    | 8    | 无线接入技术EHRPD(Evolved High Rate Package Data)。        |
1077| RADIO_TECHNOLOGY_LTE      | 9    | 无线接入技术LTE(Long Term Evolution)。                     |
1078| RADIO_TECHNOLOGY_LTE_CA   | 10   | 无线接入技术LTE_CA(Long Term Evolution_Carrier Aggregation)。 |
1079| RADIO_TECHNOLOGY_IWLAN    | 11   | 无线接入技术IWLAN(Industrial Wireless LAN)。               |
1080| RADIO_TECHNOLOGY_NR       | 12   | 无线接入技术NR(New Radio)。                                |
1081
1082
1083## SignalInformation
1084
1085网络信号强度信息对象。
1086
1087**系统能力**:SystemCapability.Telephony.CoreService
1088
1089|      名称       |           类型              | 必填 |      说明          |
1090| --------------- | --------------------------- | ---- | ------------------ |
1091| signalType      | [NetworkType](#networktype) | 是   | 网络信号强度类型。 |
1092| signalLevel     | number                      | 是   | 网络信号强度等级。 |
1093| dBm<sup>9+</sup>| number                      | 是   | 网络信号强度。     |
1094
1095## NetworkType
1096
1097网络类型。
1098
1099**系统能力**:SystemCapability.Telephony.CoreService
1100
1101| 名称                 | 值   | 说明                                                         |
1102| -------------------- | ---- | ------------------------------------------------------------ |
1103| NETWORK_TYPE_UNKNOWN | 0    | 未知网络类型。                                               |
1104| NETWORK_TYPE_GSM     | 1    | 网络类型为GSM(Global System For Mobile Communication)。    |
1105| NETWORK_TYPE_CDMA    | 2    | 网络类型为CDMA(Code Division Multiple Access)。            |
1106| NETWORK_TYPE_WCDMA   | 3    | 网络类型为WCDMA(Wideband Code Division Multiple Access)。  |
1107| NETWORK_TYPE_TDSCDMA | 4    | 网络类型为TDSCDMA(TimeDivision-Synchronous Code Division Multiple Access)。 |
1108| NETWORK_TYPE_LTE     | 5    | 网络类型为LTE(Long Term Evolution)。                       |
1109| NETWORK_TYPE_NR      | 6    | 网络类型为NR(New Radio)。                               |
1110
1111## NetworkState
1112
1113网络注册状态。
1114
1115**系统能力**:SystemCapability.Telephony.CoreService
1116
1117|       名称           |                 类型                | 必填 |                          说明                                |
1118| -------------------- | ----------------------------------- | ---- | ------------------------------------------------------------ |
1119| longOperatorName     | string                              |  是  | 注册网络的长运营商名称。                                     |
1120| shortOperatorName    | string                              |  是  | 注册网络的短运营商名称。                                     |
1121| plmnNumeric          | string                              |  是  | 注册网络的PLMN码。                                           |
1122| isRoaming            | boolean                             |  是  | 是否处于漫游状态。                                           |
1123| regState             | [RegState](#regstate)               |  是  | 设备的网络注册状态。                                         |
1124| cfgTech<sup>8+</sup> | [RadioTechnology](#radiotechnology) |  是  | 设备的无线接入技术。                                         |
1125| nsaState             | [NsaState](#nsastate)               |  是  | 设备的NSA网络注册状态。                                      |
1126| isCaActive           | boolean                             |  是  | CA的状态。                                                   |
1127| isEmergency          | boolean                             |  是  | 此设备是否只允许拨打紧急呼叫。                               |
1128
1129
1130## RegState
1131
1132网络注册状态。
1133
1134**系统能力**:SystemCapability.Telephony.CoreService
1135
1136| 名称                          | 值   | 说明                       |
1137| ----------------------------- | ---- | -------------------------- |
1138| REG_STATE_NO_SERVICE          | 0    | 设备不能使用任何服务,包括数据业务、短信、通话等。     |
1139| REG_STATE_IN_SERVICE          | 1    | 设备可以正常使用服务,包括数据业务、短信、通话等。     |
1140| REG_STATE_EMERGENCY_CALL_ONLY | 2    | 设备只能使用紧急呼叫业务。 |
1141| REG_STATE_POWER_OFF           | 3    | 蜂窝无线电已关闭,modem下电,无法和网侧进行通信。      |
1142
1143
1144## NsaState
1145
1146非独立组网状态。
1147
1148**系统能力**:SystemCapability.Telephony.CoreService
1149
1150| 名称                       | 值   | 说明                                                       |
1151| -------------------------- | ---- | ---------------------------------------------------------- |
1152| NSA_STATE_NOT_SUPPORT      | 1    | 设备在不支持NSA的LTE小区下处于空闲状态或连接状态。         |
1153| NSA_STATE_NO_DETECT        | 2    | 在支持NSA但不支持NR覆盖检测的LTE小区下,设备处于空闲状态。 |
1154| NSA_STATE_CONNECTED_DETECT | 3    | 设备在LTE小区下连接到LTE网络支持NSA和NR覆盖检测。          |
1155| NSA_STATE_IDLE_DETECT      | 4    | 支持NSA和NR覆盖检测的LTE小区下设备处于空闲状态。           |
1156| NSA_STATE_DUAL_CONNECTED   | 5    | 设备在支持NSA的LTE小区下连接到LTE + NR网络。               |
1157| NSA_STATE_SA_ATTACHED      | 6    | 设备在5GC附着时在NG-RAN小区下空闲或连接到NG-RAN小区。      |
1158
1159
1160## NetworkSelectionMode
1161
1162选网模式。
1163
1164**系统能力**:SystemCapability.Telephony.CoreService
1165
1166| 名称                        | 值   | 说明           |
1167| --------------------------- | ---- | -------------- |
1168| NETWORK_SELECTION_UNKNOWN   | 0    | 未知选网模式。 |
1169| NETWORK_SELECTION_AUTOMATIC | 1    | 自动选网模式。 |
1170| NETWORK_SELECTION_MANUAL    | 2    | 手动选网模式。 |
1171
1172
1173## CellInformation<sup>8+</sup>
1174
1175小区信息。
1176
1177**系统能力**:SystemCapability.Telephony.CoreService
1178
1179| 名称              |                  类型                   | 必填 |                           说明                               |
1180| ----------------- | --------------------------------------- | ---- | ------------------------------------------------------------ |
1181| networkType       | [NetworkType](#networktype)             |  是  | 获取服务单元的网络类型。                                     |
1182| signalInformation | [SignalInformation](#signalinformation) |  是  | 信号信息。                                                   |
1183
1184