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