• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.telephony.radio (Network Search)
2
3The **radio** module provides basic network search management functions. You can obtain the radio access technology (RAT) used in the CS and PS domains, network status, current network selection mode, ISO country code of the registered network, ID of the slot in which the primary card is located, list of signal strengths of the registered network, carrier name, and IMEI, MEID, and unique device ID of the SIM card in the specified slot. Besides, you can check whether the current device supports 5G\(NR\) and whether the radio service is enabled on the primary SIM card.
4
5>**NOTE**
6>
7>The initial APIs of this module are supported since API version 6. Newly added APIs will be marked with a superscript to indicate their earliest API version.
8
9
10## Modules to Import
11
12```ts
13import radio from '@ohos.telephony.radio';
14```
15
16## radio.getRadioTech
17
18getRadioTech\(slotId: number, callback: AsyncCallback<[NetworkRadioTech](#networkradiotech11)\>\): void
19
20Obtains the RAT used in the CS and PS domains for the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
21
22**Required permission**: ohos.permission.GET_NETWORK_INFO
23
24**System capability**: SystemCapability.Telephony.CoreService
25
26**Parameters**
27
28| Name  | Type                                                        | Mandatory| Description                                  |
29| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
30| slotId   | number                                                       | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
31| callback | AsyncCallback\<[NetworkRadioTech](#networkradiotech11)\> | Yes  | Callback used to return the result.  |
32
33**Error codes**
34
35For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
36
37| ID|                  Error Message                   |
38| -------- | -------------------------------------------- |
39| 201      | Permission denied.                           |
40| 401      | Parameter error.                             |
41| 8300001  | Invalid parameter value.                     |
42| 8300002  | Operation failed. Cannot connect to service. |
43| 8300003  | System internal error.                       |
44| 8300999  | Unknown error code.                          |
45
46**Example**
47
48```ts
49import { BusinessError } from '@ohos.base';
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
66Obtains the RAT used in the CS and PS domains for the SIM card in the specified slot. This API uses a promise to return the result.
67
68**Required permission**: ohos.permission.GET_NETWORK_INFO
69
70**System capability**: SystemCapability.Telephony.CoreService
71
72**Parameters**
73
74| Name| Type  | Mandatory| Description                                  |
75| ------ | ------ | ---- | -------------------------------------- |
76| slotId | number | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
77
78**Return value**
79
80| Type                                                        | Description                                           |
81| ------------------------------------------------------------ | ----------------------------------------------- |
82| Promise\<[NetworkRadioTech](#networkradiotech11)\> | Promise used to return the result.|
83
84**Error codes**
85
86For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
87
88| ID|                  Error Message                   |
89| -------- | -------------------------------------------- |
90| 201      | Permission denied.                           |
91| 401      | Parameter error.                             |
92| 8300001  | Invalid parameter value.                     |
93| 8300002  | Operation failed. Cannot connect to service. |
94| 8300003  | System internal error.                       |
95| 8300999  | Unknown error code.                          |
96
97**Example**
98
99```ts
100import { BusinessError } from '@ohos.base';
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
115Obtains the network status. This API uses an asynchronous callback to return the result.
116
117**Required permission**: ohos.permission.GET_NETWORK_INFO
118
119**System capability**: SystemCapability.Telephony.CoreService
120
121**Parameters**
122
123| Name  | Type                                          | Mandatory| Description      |
124| -------- | ---------------------------------------------- | ---- | ---------- |
125| callback | AsyncCallback\<[NetworkState](#networkstate)\> | Yes  | Callback used to return the result.  |
126
127**Error codes**
128
129For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
130
131| ID|                  Error Message                   |
132| -------- | -------------------------------------------- |
133| 201      | Permission denied.                           |
134| 401      | Parameter error.                             |
135| 8300001  | Invalid parameter value.                     |
136| 8300002  | Operation failed. Cannot connect to service. |
137| 8300003  | System internal error.                       |
138| 8300999  | Unknown error code.                          |
139
140**Example**
141
142```ts
143import { BusinessError } from '@ohos.base';
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
159Obtains the network status of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
160
161**Required permission**: ohos.permission.GET_NETWORK_INFO
162
163**System capability**: SystemCapability.Telephony.CoreService
164
165**Parameters**
166
167| Name  | Type                                          | Mandatory| Description                                  |
168| -------- | ---------------------------------------------- | ---- | -------------------------------------- |
169| slotId   | number                                         | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
170| callback | AsyncCallback\<[NetworkState](#networkstate)\> | Yes  | Callback used to return the result.                              |
171
172**Error codes**
173
174For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
175
176| ID|                  Error Message                   |
177| -------- | -------------------------------------------- |
178| 201      | Permission denied.                           |
179| 401      | Parameter error.                             |
180| 8300001  | Invalid parameter value.                     |
181| 8300002  | Operation failed. Cannot connect to service. |
182| 8300003  | System internal error.                       |
183| 8300999  | Unknown error code.                          |
184
185**Example**
186
187```ts
188import { BusinessError } from '@ohos.base';
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
205Obtains the network status of the SIM card in the specified slot. This API uses a promise to return the result.
206
207**Required permission**: ohos.permission.GET_NETWORK_INFO
208
209**System capability**: SystemCapability.Telephony.CoreService
210
211**Parameters**
212
213| Name| Type  | Mandatory| Description                                  |
214| ------ | ------ | ---- | -------------------------------------- |
215| slotId | number | No  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
216
217**Return value**
218
219| Type                                    | Description                       |
220| ---------------------------------------- | --------------------------- |
221| Promise\<[NetworkState](#networkstate)\> | Promise used to return the result.|
222
223**Error codes**
224
225For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
226
227| ID|                  Error Message                   |
228| -------- | -------------------------------------------- |
229| 201      | Permission denied.                           |
230| 401      | Parameter error.                             |
231| 8300001  | Invalid parameter value.                     |
232| 8300002  | Operation failed. Cannot connect to service. |
233| 8300003  | System internal error.                       |
234| 8300999  | Unknown error code.                          |
235
236**Example**
237
238```ts
239import { BusinessError } from '@ohos.base';
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
254Obtains the network selection mode of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
255
256**System capability**: SystemCapability.Telephony.CoreService
257
258**Parameters**
259
260| Name  | Type                                                        | Mandatory| Description                                  |
261| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
262| slotId   | number                                                       | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
263| callback | AsyncCallback\<[NetworkSelectionMode](#networkselectionmode)\> | Yes  | Callback used to return the result.                              |
264
265**Error codes**
266
267For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
268
269| ID|                 Error Message                    |
270| -------- | -------------------------------------------- |
271| 401      | Parameter error.                             |
272| 8300001  | Invalid parameter value.                     |
273| 8300002  | Operation failed. Cannot connect to service. |
274| 8300003  | System internal error.                       |
275| 8300999  | Unknown error code.                          |
276
277**Example**
278
279```ts
280import { BusinessError } from '@ohos.base';
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
297Obtains the network selection mode of the SIM card in the specified slot. This API uses a promise to return the result.
298
299**System capability**: SystemCapability.Telephony.CoreService
300
301**Parameters**
302
303| Name| Type  | Mandatory| Description                                  |
304| ------ | ------ | ---- | -------------------------------------- |
305| slotId | number | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
306
307**Return value**
308
309| Type                                                    | Description                           |
310| -------------------------------------------------------- | ------------------------------- |
311| Promise\<[NetworkSelectionMode](#networkselectionmode)\> | Promise used to return the result.|
312
313**Error codes**
314
315For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
316
317| ID|                 Error Message                    |
318| -------- | -------------------------------------------- |
319| 401      | Parameter error.                             |
320| 8300001  | Invalid parameter value.                     |
321| 8300002  | Operation failed. Cannot connect to service. |
322| 8300003  | System internal error.                       |
323| 8300999  | Unknown error code.                          |
324
325**Example**
326
327```ts
328import { BusinessError } from '@ohos.base';
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
343Obtains the ISO country code of the network with which the SIM card in the specified slot is registered. This API uses an asynchronous callback to return the result.
344
345**System capability**: SystemCapability.Telephony.CoreService
346
347**Parameters**
348
349| Name  | Type                   | Mandatory| Description                                    |
350| -------- | ----------------------- | ---- | ---------------------------------------- |
351| slotId   | number                  | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2  |
352| callback | AsyncCallback\<string\> | Yes  | Callback used to return the result, which is an ISO country code, for example, **CN** (China).|
353
354**Error codes**
355
356For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
357
358| ID|                 Error Message                    |
359| -------- | -------------------------------------------- |
360| 401      | Parameter error.                             |
361| 8300001  | Invalid parameter value.                     |
362| 8300002  | Operation failed. Cannot connect to service. |
363| 8300003  | System internal error.                       |
364| 8300999  | Unknown error code.                          |
365
366**Example**
367
368```ts
369import { BusinessError } from '@ohos.base';
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
386Obtains the ISO country code of the network with which the SIM card in the specified slot is registered. This API uses a promise to return the result.
387
388**System capability**: SystemCapability.Telephony.CoreService
389
390**Parameters**
391
392| Name| Type  | Mandatory| Description                                  |
393| ------ | ------ | ---- | -------------------------------------- |
394| slotId | number | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
395
396**Return value**
397
398| Type             | Description                                                        |
399| ----------------- | ------------------------------------------------------------ |
400| Promise\<string\> | Promise used to return the result, which is an ISO country code, for example, **CN** (China).|
401
402**Error codes**
403
404For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
405
406| ID|                 Error Message                    |
407| -------- | -------------------------------------------- |
408| 401      | Parameter error.                             |
409| 8300001  | Invalid parameter value.                     |
410| 8300002  | Operation failed. Cannot connect to service. |
411| 8300003  | System internal error.                       |
412| 8300999  | Unknown error code.                          |
413
414**Example**
415
416```ts
417import { BusinessError } from '@ohos.base';
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
431Obtains the ISO country code of the network with which the SIM card in the specified slot is registered.
432
433**System capability**: SystemCapability.Telephony.CoreService
434
435**Parameters**
436
437| Name| Type  | Mandatory| Description                                  |
438| ------ | ------ | ---- | -------------------------------------- |
439| slotId | number | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
440
441**Return value**
442
443| Type             | Description                                                        |
444| ----------------- | ------------------------------------------------------------ |
445| string | ISO country code of the network, for example, **CN** (China).|
446
447**Example**
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
461Obtains the ID of the slot in which the primary card is located. This API uses an asynchronous callback to return the result.
462
463**System capability**: SystemCapability.Telephony.CoreService
464
465**Parameters**
466
467| Name  | Type                                                        | Mandatory| Description                                                        |
468| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
469| callback | AsyncCallback\<number\> | Yes  | Callback used to return the result.  |
470
471**Error codes**
472
473For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
474
475| ID|                 Error Message                    |
476| -------- | -------------------------------------------- |
477| 401      | Parameter error.                             |
478| 8300001  | Invalid parameter value.                     |
479| 8300002  | Operation failed. Cannot connect to service. |
480| 8300003  | System internal error.                       |
481| 8300999  | Unknown error code.                          |
482
483**Example**
484
485```ts
486import { BusinessError } from '@ohos.base';
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
502Obtains the ID of the slot in which the primary card is located. This API uses a promise to return the result.
503
504**System capability**: SystemCapability.Telephony.CoreService
505
506**Return value**
507
508| Type                                                       | Description                                                        |
509| ----------------------------------------------------------- | ------------------------------------------------------------ |
510| Promise\<number\> | Promise used to return the result.|
511
512**Error codes**
513
514For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
515
516| ID|                 Error Message                    |
517| -------- | -------------------------------------------- |
518| 8300002  | Operation failed. Cannot connect to service. |
519| 8300003  | System internal error.                       |
520| 8300999  | Unknown error code.                          |
521
522**Example**
523
524```ts
525import { BusinessError } from '@ohos.base';
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
539Obtains a list of signal strengths of the network with which the SIM card in the specified slot is registered. This API uses an asynchronous callback to return the result.
540
541**System capability**: SystemCapability.Telephony.CoreService
542
543**Parameters**
544
545| Name  | Type                                                        | Mandatory| Description                                                        |
546| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
547| slotId   | number                                                       | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2                      |
548| callback | AsyncCallback\<Array\<[SignalInformation](#signalinformation)\>\> | Yes  | Callback used to return the result, which is a list of [SignalInformation](#signalinformation) objects.|
549
550**Error codes**
551
552For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
553
554| ID|                 Error Message                    |
555| -------- | -------------------------------------------- |
556| 401      | Parameter error.                             |
557| 8300001  | Invalid parameter value.                     |
558| 8300002  | Operation failed. Cannot connect to service. |
559| 8300003  | System internal error.                       |
560| 8300999  | Unknown error code.                          |
561
562**Example**
563
564```ts
565import { BusinessError } from '@ohos.base';
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
582Obtains a list of signal strengths of the network with which the SIM card in the specified slot is registered. This API uses a promise to return the result.
583
584**System capability**: SystemCapability.Telephony.CoreService
585
586**Parameters**
587
588| Name| Type  | Mandatory| Description                                  |
589| ------ | ------ | ---- | -------------------------------------- |
590| slotId | number | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
591
592**Return value**
593
594| Type                                                       | Description                                                        |
595| ----------------------------------------------------------- | ------------------------------------------------------------ |
596| Promise\<Array\<[SignalInformation](#signalinformation)\>\> | Promise used to return the result, which is a list of [SignalInformation](#signalinformation) objects.|
597
598**Error codes**
599
600For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
601
602| ID|                 Error Message                    |
603| -------- | -------------------------------------------- |
604| 401      | Parameter error.                             |
605| 8300001  | Invalid parameter value.                     |
606| 8300002  | Operation failed. Cannot connect to service. |
607| 8300003  | System internal error.                       |
608| 8300999  | Unknown error code.                          |
609
610**Example**
611
612```ts
613import { BusinessError } from '@ohos.base';
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
627Obtains a list of signal strengths of the network with which the SIM card in the specified slot is registered.
628
629**System capability**: SystemCapability.Telephony.CoreService
630
631**Parameters**
632
633| Name| Type  | Mandatory| Description                                  |
634| ------ | ------ | ---- | -------------------------------------- |
635| slotId | number | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
636
637**Return value**
638
639| Type                                                       | Description                                                        |
640| ----------------------------------------------------------- | ------------------------------------------------------------ |
641| Array\<[SignalInformation](#signalinformation)\>| Array of [SignalInformation](#signalinformation) objects.|
642
643
644**Example**
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>(deprecated)</sup>
653
654isNrSupported\(\): boolean
655
656Checks whether the current SIM card supports 5G \(NR\).
657
658> **NOTE**
659>
660> This API is supported since API version 7 and deprecated since API version 9. You are advised to use [isNRSupported](#radioisnrsupported9).
661
662**System capability**: SystemCapability.Telephony.CoreService
663
664**Return value**
665
666| Type   | Description                            |
667| ------- | -------------------------------- |
668| boolean | - **true**: The current device supports 5G \(NR\).<br>- **false**: The current device does not support 5G \(NR\).|
669
670**Example**
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
681Checks whether the SIM card in the specified slot supports 5G \(NR\).
682
683> **NOTE**
684>
685> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [isNRSupported](#radioisnrsupported9-1).
686
687**System capability**: SystemCapability.Telephony.CoreService
688
689**Parameters**
690
691| Name| Type  | Mandatory| Description                                  |
692| ------ | ------ | ---- | -------------------------------------- |
693| slotId | number | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
694
695**Return value**
696
697| Type              | Description                                                        |
698| ------------------ | ------------------------------------------------------------ |
699| boolean | - **true**: The current device supports 5G \(NR\).<br>- **false**: The current device does not support 5G \(NR\).|
700
701**Example**
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
714Checks whether the current SIM card supports 5G \(NR\).
715
716**System capability**: SystemCapability.Telephony.CoreService
717
718**Return value**
719
720| Type   | Description                            |
721| ------- | -------------------------------- |
722| boolean | - **true**: The current device supports 5G \(NR\).<br>- **false**: The current device does not support 5G \(NR\).|
723
724**Example**
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
736Checks whether the SIM card in the specified slot supports 5G \(NR\).
737
738**System capability**: SystemCapability.Telephony.CoreService
739
740**Parameters**
741
742| Name| Type  | Mandatory| Description                                  |
743| ------ | ------ | ---- | -------------------------------------- |
744| slotId | number | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
745
746**Return value**
747
748| Type              | Description                                                        |
749| ------------------ | ------------------------------------------------------------ |
750| boolean | - **true**: The current device supports 5G \(NR\).<br>- **false**: The current device does not support 5G \(NR\).|
751
752**Example**
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
765Checks whether the radio service is enabled on the primary SIM card. This API uses an asynchronous callback to return the result.
766
767**Required permission**: ohos.permission.GET_NETWORK_INFO
768
769**System capability**: SystemCapability.Telephony.CoreService
770
771**Parameters**
772
773| Name  | Type                    | Mandatory| Description                                                   |
774| -------- | ------------------------ | ---- | ------------------------------------------------------- |
775| callback | AsyncCallback\<boolean\> | Yes  | Callback used to return the result.  <br>- **true**: The radio service is enabled.<br>- **false**: The radio service is disabled.|
776
777**Error codes**
778
779For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
780
781| ID|                  Error Message                   |
782| -------- | -------------------------------------------- |
783| 201      | Permission denied.                           |
784| 401      | Parameter error.                             |
785| 8300001  | Invalid parameter value.                     |
786| 8300002  | Operation failed. Cannot connect to service. |
787| 8300003  | System internal error.                       |
788| 8300999  | Unknown error code.                          |
789
790**Example**
791
792```ts
793import { BusinessError } from '@ohos.base';
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
809Checks whether the radio service is enabled on the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
810
811**Required permission**: ohos.permission.GET_NETWORK_INFO
812
813**System capability**: SystemCapability.Telephony.CoreService
814
815**Parameters**
816
817| Name  | Type                    | Mandatory| Description                                                   |
818| -------- | ------------------------ | ---- | ------------------------------------------------------- |
819| slotId   | number                   | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2                 |
820| callback | AsyncCallback\<boolean\> | Yes  | Callback used to return the result.  <br>- **true**: The radio service is enabled.<br>- **false**: The radio service is disabled.|
821
822**Error codes**
823
824For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
825
826| ID|                  Error Message                   |
827| -------- | -------------------------------------------- |
828| 201      | Permission denied.                           |
829| 401      | Parameter error.                             |
830| 8300001  | Invalid parameter value.                     |
831| 8300002  | Operation failed. Cannot connect to service. |
832| 8300003  | System internal error.                       |
833| 8300999  | Unknown error code.                          |
834
835**Example**
836
837```ts
838import { BusinessError } from '@ohos.base';
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
855Checks whether the radio service is enabled on the SIM card in the specified slot. This API uses a promise to return the result.
856
857**Required permission**: ohos.permission.GET_NETWORK_INFO
858
859**System capability**: SystemCapability.Telephony.CoreService
860
861**Parameters**
862
863| Name| Type  | Mandatory| Description                                  |
864| ------ | ------ | ---- | -------------------------------------- |
865| slotId | number | No  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2<br>If the slot ID is not specified, this API is defaulted to check whether the radio service is enabled on the primary SIM card.|
866
867**Return value**
868
869| Type              | Description                                                        |
870| ------------------ | ------------------------------------------------------------ |
871| Promise\<boolean\> | Promise used to return the result.<br>- **true**: The radio service is enabled.<br>- **false**: The radio service is disabled.|
872
873**Error codes**
874
875For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
876
877| ID|                  Error Message                   |
878| -------- | -------------------------------------------- |
879| 201      | Permission denied.                           |
880| 401      | Parameter error.                             |
881| 8300001  | Invalid parameter value.                     |
882| 8300002  | Operation failed. Cannot connect to service. |
883| 8300003  | System internal error.                       |
884| 8300999  | Unknown error code.                          |
885
886**Example**
887
888```ts
889import { BusinessError } from '@ohos.base';
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
904Obtains the carrier name of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
905
906**System capability**: SystemCapability.Telephony.CoreService
907
908**Parameters**
909
910| Name  | Type                   | Mandatory| Description                                      |
911| -------- | ----------------------- | ---- | ------------------------------------------ |
912| slotId   | number                  | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2    |
913| callback | AsyncCallback\<string\> | Yes  | Callback used to return the result, which is the carrier name, for example, China Mobile.|
914
915**Error codes**
916
917For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
918
919| ID|                 Error Message                    |
920| -------- | -------------------------------------------- |
921| 401      | Parameter error.                             |
922| 8300001  | Invalid parameter value.                     |
923| 8300002  | Operation failed. Cannot connect to service. |
924| 8300003  | System internal error.                       |
925| 8300999  | Unknown error code.                          |
926
927**Example**
928
929```ts
930import { BusinessError } from '@ohos.base';
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
947Obtains the carrier name of the SIM card in the specified slot. This API uses a promise to return the result.
948
949**System capability**: SystemCapability.Telephony.CoreService
950
951**Parameters**
952
953| Name| Type  | Mandatory| Description                                  |
954| ------ | ------ | ---- | -------------------------------------- |
955| slotId | number | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
956
957**Return value**
958
959| Type             | Description                                                        |
960| ----------------- | ------------------------------------------------------------ |
961| Promise\<string\> | Promise used t return the result, which is the carrier name, for example, China Mobile.               |
962
963**Error codes**
964
965For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
966
967| ID|                 Error Message                    |
968| -------- | -------------------------------------------- |
969| 401      | Parameter error.                             |
970| 8300001  | Invalid parameter value.                     |
971| 8300002  | Operation failed. Cannot connect to service. |
972| 8300003  | System internal error.                       |
973| 8300999  | Unknown error code.                          |
974
975**Example**
976
977```ts
978import { BusinessError } from '@ohos.base';
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
992Obtains the carrier name of the SIM card in the specified slot.
993
994**System capability**: SystemCapability.Telephony.CoreService
995
996**Parameters**
997
998| Name| Type  | Mandatory| Description                                  |
999| ------ | ------ | ---- | -------------------------------------- |
1000| slotId | number | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
1001
1002**Return value**
1003
1004| Type             | Description                                                        |
1005| ----------------- | ------------------------------------------------------------ |
1006| string | Carrier name, for example, China Mobile.               |
1007
1008
1009**Example**
1010
1011```ts
1012let slotId: number = 0;
1013let operatorName: string = radio.getOperatorNameSync(slotId);
1014console.log(`operator name is:` + operatorName);
1015```
1016
1017## radio.setPrimarySlotId<sup>8+</sup>
1018
1019setPrimarySlotId\(slotId: number, callback: AsyncCallback\<void\>\): void
1020
1021Sets the ID of the slot in which the primary card is located. This API uses an asynchronous callback to return the result.
1022
1023**System API**: This is a system API.
1024
1025**Required permission**: ohos.permission.SET_TELEPHONY_STATE
1026
1027**System capability**: SystemCapability.Telephony.CoreService
1028
1029**Parameters**
1030
1031| Name  | Type                 | Mandatory| Description                                  |
1032| -------- | --------------------- | ---- | -------------------------------------- |
1033| slotId   | number                | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
1034| callback | AsyncCallback\<void\> | Yes  | Callback used to return the result.         |
1035
1036**Error codes**
1037
1038For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1039
1040| ID|                  Error Message                   |
1041| -------- | -------------------------------------------- |
1042| 201      | Permission denied.                           |
1043| 202      | Non-system applications use system APIs.     |
1044| 401      | Parameter error.                             |
1045| 8300001  | Invalid parameter value.                     |
1046| 8300002  | Operation failed. Cannot connect to service. |
1047| 8300003  | System internal error.                       |
1048| 8300004  | Do not have sim card.                        |
1049| 8300999  | Unknown error code.                          |
1050
1051**Example**
1052
1053```ts
1054import { BusinessError } from '@ohos.base';
1055
1056let slotId: number = 0;
1057radio.setPrimarySlotId(slotId, (err: BusinessError) => {
1058    if (err) {
1059        console.error(`setPrimarySlotId failed, callback: err->${JSON.stringify(err)}`);
1060        return;
1061    }
1062    console.log(`setPrimarySlotId success.`);
1063});
1064```
1065
1066
1067## radio.setPrimarySlotId<sup>8+</sup>
1068
1069setPrimarySlotId\(slotId: number\): Promise\<void\>
1070
1071Sets the ID of the slot in which the primary card is located. This API uses a promise to return the result.
1072
1073**System API**: This is a system API.
1074
1075**Required permission**: ohos.permission.SET_TELEPHONY_STATE
1076
1077**System capability**: SystemCapability.Telephony.CoreService
1078
1079**Parameters**
1080
1081| Name| Type  | Mandatory| Description                                  |
1082| ------ | ------ | ---- | -------------------------------------- |
1083| slotId | number | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
1084
1085**Return value**
1086
1087| Type           | Description                           |
1088| --------------- | ------------------------------- |
1089| Promise\<void\> | Promise used to return the result.|
1090
1091**Error codes**
1092
1093For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1094
1095| ID|                  Error Message                   |
1096| -------- | -------------------------------------------- |
1097| 201      | Permission denied.                           |
1098| 202      | Non-system applications use system APIs.     |
1099| 401      | Parameter error.                             |
1100| 8300001  | Invalid parameter value.                     |
1101| 8300002  | Operation failed. Cannot connect to service. |
1102| 8300003  | System internal error.                       |
1103| 8300004  | Do not have sim card.                        |
1104| 8300999  | Unknown error code.                          |
1105
1106**Example**
1107
1108```ts
1109import { BusinessError } from '@ohos.base';
1110
1111let slotId: number = 0;
1112radio.setPrimarySlotId(slotId).then(() => {
1113    console.log(`setPrimarySlotId success.`);
1114}).catch((err: BusinessError) => {
1115    console.error(`setPrimarySlotId failed, promise: err->${JSON.stringify(err)}`);
1116});
1117```
1118
1119## radio.getIMEI<sup>8+</sup>
1120
1121getIMEI\(callback: AsyncCallback\<string\>\): void
1122
1123Obtains the IMEI of the primary SIM card of the device. This API uses an asynchronous callback to return the result.
1124
1125**System API**: This is a system API.
1126
1127**Required permission**: ohos.permission.GET_TELEPHONY_STATE
1128
1129**System capability**: SystemCapability.Telephony.CoreService
1130
1131**Parameters**
1132
1133| Name  | Type                   | Mandatory| Description                                      |
1134| -------- | ----------------------- | ---- | ------------------------------------------ |
1135| callback | AsyncCallback\<string\> | Yes  | Callback used to return the result.  If the IMEI does not exist, an empty string is returned.|
1136
1137**Error codes**
1138
1139For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1140
1141| ID|                  Error Message                   |
1142| -------- | -------------------------------------------- |
1143| 201      | Permission denied.                           |
1144| 202      | Non-system applications use system APIs.     |
1145| 401      | Parameter error.                             |
1146| 8300001  | Invalid parameter value.                     |
1147| 8300002  | Operation failed. Cannot connect to service. |
1148| 8300003  | System internal error.                       |
1149| 8300999  | Unknown error code.                          |
1150
1151**Example**
1152
1153```ts
1154import { BusinessError } from '@ohos.base';
1155
1156radio.getIMEI((err: BusinessError, data: string) => {
1157    if (err) {
1158        console.error(`getIMEI failed, callback: err->${JSON.stringify(err)}`);
1159        return;
1160    }
1161    console.log(`getIMEI success, callback: data->${JSON.stringify(data)}`);
1162});
1163```
1164
1165
1166## radio.getIMEI<sup>8+</sup>
1167
1168getIMEI\(slotId: number, callback: AsyncCallback\<string\>\): void
1169
1170Obtains the IMEI of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
1171
1172**System API**: This is a system API.
1173
1174**Required permission**: ohos.permission.GET_TELEPHONY_STATE
1175
1176**System capability**: SystemCapability.Telephony.CoreService
1177
1178**Parameters**
1179
1180| Name  | Type                   | Mandatory| Description                                      |
1181| -------- | ----------------------- | ---- | ------------------------------------------ |
1182| slotId   | number                  | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2    |
1183| callback | AsyncCallback\<string\> | Yes  | Callback used to return the result.  If the IMEI does not exist, an empty string is returned.|
1184
1185**Error codes**
1186
1187For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1188
1189| ID|                  Error Message                   |
1190| -------- | -------------------------------------------- |
1191| 201      | Permission denied.                           |
1192| 202      | Non-system applications use system APIs.     |
1193| 401      | Parameter error.                             |
1194| 8300001  | Invalid parameter value.                     |
1195| 8300002  | Operation failed. Cannot connect to service. |
1196| 8300003  | System internal error.                       |
1197| 8300999  | Unknown error code.                          |
1198
1199**Example**
1200
1201```ts
1202import { BusinessError } from '@ohos.base';
1203
1204let slotId: number = 0;
1205radio.getIMEI(slotId, (err: BusinessError, data: string) => {
1206    if (err) {
1207        console.error(`getIMEI failed, callback: err->${JSON.stringify(err)}`);
1208        return;
1209    }
1210    console.log(`getIMEI success, callback: data->${JSON.stringify(data)}`);
1211});
1212```
1213
1214
1215## radio.getIMEI<sup>8+</sup>
1216
1217getIMEI\(slotId?: number\): Promise\<string\>
1218
1219Obtains the IMEI of the SIM card in the specified slot. This API uses a promise to return the result.
1220
1221**System API**: This is a system API.
1222
1223**Required permission**: ohos.permission.GET_TELEPHONY_STATE
1224
1225**System capability**: SystemCapability.Telephony.CoreService
1226
1227**Parameters**
1228
1229| Name| Type  | Mandatory| Description                                  |
1230| ------ | ------ | ---- | -------------------------------------- |
1231| slotId | number | No  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
1232
1233**Return value**
1234
1235| Type             | Description                                      |
1236| ----------------- | ------------------------------------------ |
1237| Promise\<string\> | Promise used to return the result. If the IMEI does not exist, an empty string is returned.|
1238
1239**Error codes**
1240
1241For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1242
1243| ID|                  Error Message                   |
1244| -------- | -------------------------------------------- |
1245| 201      | Permission denied.                           |
1246| 202      | Non-system applications use system APIs.     |
1247| 401      | Parameter error.                             |
1248| 8300001  | Invalid parameter value.                     |
1249| 8300002  | Operation failed. Cannot connect to service. |
1250| 8300003  | System internal error.                       |
1251| 8300999  | Unknown error code.                          |
1252
1253**Example**
1254
1255```ts
1256import { BusinessError } from '@ohos.base';
1257
1258let slotId: number = 0;
1259radio.getIMEI(slotId).then((data: string) => {
1260    console.log(`getIMEI success, promise: data->${JSON.stringify(data)}`);
1261}).catch((err: BusinessError) => {
1262    console.error(`getIMEI failed, promise: err->${JSON.stringify(err)}`);
1263});
1264```
1265
1266## radio.getMEID<sup>8+</sup>
1267
1268getMEID\(callback: AsyncCallback\<string\>\): void
1269
1270Obtains the MEID of the SIM card. This API uses an asynchronous callback to return the result.
1271
1272**System API**: This is a system API.
1273
1274**Required permission**: ohos.permission.GET_TELEPHONY_STATE
1275
1276**System capability**: SystemCapability.Telephony.CoreService
1277
1278**Parameters**
1279
1280| Name  | Type                   | Mandatory| Description      |
1281| -------- | ----------------------- | ---- | ---------- |
1282| callback | AsyncCallback\<string\> | Yes  | Callback used to return the result.  |
1283
1284**Error codes**
1285
1286For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1287
1288| ID|                  Error Message                   |
1289| -------- | -------------------------------------------- |
1290| 201      | Permission denied.                           |
1291| 202      | Non-system applications use system APIs.     |
1292| 401      | Parameter error.                             |
1293| 8300001  | Invalid parameter value.                     |
1294| 8300002  | Operation failed. Cannot connect to service. |
1295| 8300003  | System internal error.                       |
1296| 8300999  | Unknown error code.                          |
1297
1298**Example**
1299
1300```ts
1301import { BusinessError } from '@ohos.base';
1302
1303radio.getMEID((err: BusinessError, data: string) => {
1304    if (err) {
1305        console.error(`getMEID failed, callback: err->${JSON.stringify(err)}`);
1306        return;
1307    }
1308    console.log(`getMEID success, callback: data->${JSON.stringify(data)}`);
1309});
1310```
1311
1312
1313## radio.getMEID<sup>8+</sup>
1314
1315getMEID\(slotId: number, callback: AsyncCallback\<string\>\): void
1316
1317Obtains the MEID of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
1318
1319**System API**: This is a system API.
1320
1321**Required permission**: ohos.permission.GET_TELEPHONY_STATE
1322
1323**System capability**: SystemCapability.Telephony.CoreService
1324
1325**Parameters**
1326
1327| Name  | Type                   | Mandatory| Description                                  |
1328| -------- | ----------------------- | ---- | -------------------------------------- |
1329| slotId   | number                  | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
1330| callback | AsyncCallback\<string\> | Yes  | Callback used to return the result.       |
1331
1332**Error codes**
1333
1334For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1335
1336| ID|                  Error Message                   |
1337| -------- | -------------------------------------------- |
1338| 201      | Permission denied.                           |
1339| 202      | Non-system applications use system APIs.     |
1340| 401      | Parameter error.                             |
1341| 8300001  | Invalid parameter value.                     |
1342| 8300002  | Operation failed. Cannot connect to service. |
1343| 8300003  | System internal error.                       |
1344| 8300999  | Unknown error code.                          |
1345
1346**Example**
1347
1348```ts
1349import { BusinessError } from '@ohos.base';
1350
1351let slotId: number = 0;
1352radio.getMEID(slotId, (err: BusinessError, data: string) => {
1353    if (err) {
1354        console.error(`getMEID failed, callback: err->${JSON.stringify(err)}`);
1355        return;
1356    }
1357    console.log(`getMEID success, callback: data->${JSON.stringify(data)}`);
1358});
1359```
1360
1361
1362## radio.getMEID<sup>8+</sup>
1363
1364getMEID\(slotId?: number\): Promise\<string\>
1365
1366Obtains the MEID of the SIM card in the specified slot. This API uses a promise to return the result.
1367
1368**System API**: This is a system API.
1369
1370**Required permission**: ohos.permission.GET_TELEPHONY_STATE
1371
1372**System capability**: SystemCapability.Telephony.CoreService
1373
1374**Parameters**
1375
1376| Name| Type  | Mandatory| Description                                  |
1377| ------ | ------ | ---- | -------------------------------------- |
1378| slotId | number | No  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
1379
1380**Return value**
1381
1382| Type             | Description                                   |
1383| ----------------- | --------------------------------------- |
1384| Promise\<string\> | Promise used to return the result.|
1385
1386**Error codes**
1387
1388For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1389
1390| ID|                  Error Message                   |
1391| -------- | -------------------------------------------- |
1392| 201      | Permission denied.                           |
1393| 202      | Non-system applications use system APIs.     |
1394| 401      | Parameter error.                             |
1395| 8300001  | Invalid parameter value.                     |
1396| 8300002  | Operation failed. Cannot connect to service. |
1397| 8300003  | System internal error.                       |
1398| 8300999  | Unknown error code.                          |
1399
1400**Example**
1401
1402```ts
1403import { BusinessError } from '@ohos.base';
1404
1405let slotId: number = 0;
1406radio.getMEID(slotId).then((data: string) => {
1407    console.log(`getMEID success, promise: data->${JSON.stringify(data)}`);
1408}).catch((err: BusinessError) => {
1409    console.error(`getMEID failed, promise: err->${JSON.stringify(err)}`);
1410});
1411```
1412
1413## radio.getUniqueDeviceId<sup>8+</sup>
1414
1415getUniqueDeviceId\(callback: AsyncCallback\<string\>\): void
1416
1417Obtains the unique device ID of the primary SIM card of the device. This API uses an asynchronous callback to return the result.
1418
1419**System API**: This is a system API.
1420
1421**Required permission**: ohos.permission.GET_TELEPHONY_STATE
1422
1423**System capability**: SystemCapability.Telephony.CoreService
1424
1425**Parameters**
1426
1427| Name  | Type                   | Mandatory| Description      |
1428| -------- | ----------------------- | ---- | ---------- |
1429| callback | AsyncCallback\<string\> | Yes  | Callback used to return the result.  |
1430
1431**Error codes**
1432
1433For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1434
1435| ID|                  Error Message                   |
1436| -------- | -------------------------------------------- |
1437| 201      | Permission denied.                           |
1438| 202      | Non-system applications use system APIs.     |
1439| 401      | Parameter error.                             |
1440| 8300001  | Invalid parameter value.                     |
1441| 8300002  | Operation failed. Cannot connect to service. |
1442| 8300003  | System internal error.                       |
1443| 8300999  | Unknown error code.                          |
1444
1445**Example**
1446
1447```ts
1448import { BusinessError } from '@ohos.base';
1449
1450radio.getUniqueDeviceId((err: BusinessError, data: string) => {
1451    if (err) {
1452        console.error(`getUniqueDeviceId failed, callback: err->${JSON.stringify(err)}}`);
1453        return;
1454    }
1455    console.log(`getUniqueDeviceId success, callback: data->${JSON.stringify(data)}`);
1456});
1457```
1458
1459
1460## radio.getUniqueDeviceId<sup>8+</sup>
1461
1462getUniqueDeviceId\(slotId: number, callback: AsyncCallback\<string\>\): void
1463
1464Obtains the unique device ID of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
1465
1466**System API**: This is a system API.
1467
1468**Required permission**: ohos.permission.GET_TELEPHONY_STATE
1469
1470**System capability**: SystemCapability.Telephony.CoreService
1471
1472**Parameters**
1473
1474| Name  | Type                   | Mandatory| Description                                  |
1475| -------- | ----------------------- | ---- | -------------------------------------- |
1476| slotId   | number                  | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
1477| callback | AsyncCallback\<string\> | Yes  | Callback used to return the result.       |
1478
1479**Error codes**
1480
1481For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1482
1483| ID|                  Error Message                   |
1484| -------- | -------------------------------------------- |
1485| 201      | Permission denied.                           |
1486| 202      | Non-system applications use system APIs.     |
1487| 401      | Parameter error.                             |
1488| 8300001  | Invalid parameter value.                     |
1489| 8300002  | Operation failed. Cannot connect to service. |
1490| 8300003  | System internal error.                       |
1491| 8300999  | Unknown error code.                          |
1492
1493**Example**
1494
1495```ts
1496import { BusinessError } from '@ohos.base';
1497
1498let slotId: number = 0;
1499radio.getUniqueDeviceId(slotId, (err: BusinessError, data: string) => {
1500    if (err) {
1501        console.error(`getUniqueDeviceId failed, callback: err->${JSON.stringify(err)}`);
1502        return;
1503    }
1504    console.log(`getUniqueDeviceId success, callback: data->${JSON.stringify(data)}`);
1505});
1506```
1507
1508
1509## radio.getUniqueDeviceId<sup>8+</sup>
1510
1511getUniqueDeviceId\(slotId?: number\): Promise\<string\>
1512
1513Obtains the unique device ID of the SIM card in the specified slot. This API uses a promise to return the result.
1514
1515**System API**: This is a system API.
1516
1517**Required permission**: ohos.permission.GET_TELEPHONY_STATE
1518
1519**System capability**: SystemCapability.Telephony.CoreService
1520
1521**Parameters**
1522
1523| Name| Type  | Mandatory| Description                                  |
1524| ------ | ------ | ---- | -------------------------------------- |
1525| slotId | number | No  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
1526
1527**Return value**
1528
1529| Type             | Description                                         |
1530| ----------------- | --------------------------------------------- |
1531| Promise\<string\> | Promise used to return the result.|
1532
1533**Error codes**
1534
1535For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1536
1537| ID|                  Error Message                   |
1538| -------- | -------------------------------------------- |
1539| 201      | Permission denied.                           |
1540| 202      | Non-system applications use system APIs.     |
1541| 401      | Parameter error.                             |
1542| 8300001  | Invalid parameter value.                     |
1543| 8300002  | Operation failed. Cannot connect to service. |
1544| 8300003  | System internal error.                       |
1545| 8300999  | Unknown error code.                          |
1546
1547**Example**
1548
1549```ts
1550import { BusinessError } from '@ohos.base';
1551
1552let slotId: number = 0;
1553radio.getUniqueDeviceId(slotId).then((data: string) => {
1554    console.log(`getUniqueDeviceId success, promise: data->${JSON.stringify(data)}`);
1555}).catch((err: BusinessError) => {
1556    console.error(`getUniqueDeviceId failed, promise: err->${JSON.stringify(err)}`);
1557});
1558```
1559
1560## radio.sendUpdateCellLocationRequest<sup>8+</sup>
1561
1562sendUpdateCellLocationRequest\(callback: AsyncCallback\<void\>\): void
1563
1564Sends a cell location update request. This API uses an asynchronous callback to return the result.
1565
1566**System API**: This is a system API.
1567
1568**Required permissions**: ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION
1569
1570**System capability**: SystemCapability.Telephony.CoreService
1571
1572**Parameters**
1573
1574| Name  | Type                 | Mandatory| Description      |
1575| -------- | --------------------- | ---- | ---------- |
1576| callback | AsyncCallback\<void\> | Yes  | Callback used to return the result.  |
1577
1578**Error codes**
1579
1580For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1581
1582| ID|                  Error Message                   |
1583| -------- | -------------------------------------------- |
1584| 201      | Permission denied.                           |
1585| 202      | Non-system applications use system APIs.     |
1586| 401      | Parameter error.                             |
1587| 8300001  | Invalid parameter value.                     |
1588| 8300002  | Operation failed. Cannot connect to service. |
1589| 8300003  | System internal error.                       |
1590| 8300999  | Unknown error code.                          |
1591
1592**Example**
1593
1594```ts
1595import { BusinessError } from '@ohos.base';
1596
1597radio.sendUpdateCellLocationRequest((err: BusinessError) => {
1598    if (err) {
1599        console.error(`sendUpdateCellLocationRequest failed, callback: err->${JSON.stringify(err)}`);
1600        return;
1601    }
1602    console.log(`sendUpdateCellLocationRequest success.`);
1603});
1604```
1605
1606## radio.sendUpdateCellLocationRequest<sup>8+</sup>
1607
1608sendUpdateCellLocationRequest\(slotId: number, callback: AsyncCallback\<void\>\): void
1609
1610Sends a cell location update request for the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
1611
1612**System API**: This is a system API.
1613
1614**Required permissions**: ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION
1615
1616**System capability**: SystemCapability.Telephony.CoreService
1617
1618**Parameters**
1619
1620| Name  | Type                 | Mandatory| Description      |
1621| -------- | --------------------- | ---- | ---------- |
1622| slotId | number | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
1623| callback | AsyncCallback\<void\> | Yes  | Callback used to return the result.  |
1624
1625**Error codes**
1626
1627For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1628
1629| ID|                  Error Message                   |
1630| -------- | -------------------------------------------- |
1631| 201      | Permission denied.                           |
1632| 202      | Non-system applications use system APIs.     |
1633| 401      | Parameter error.                             |
1634| 8300001  | Invalid parameter value.                     |
1635| 8300002  | Operation failed. Cannot connect to service. |
1636| 8300003  | System internal error.                       |
1637| 8300999  | Unknown error code.                          |
1638
1639**Example**
1640
1641```ts
1642import { BusinessError } from '@ohos.base';
1643
1644let slotId: number = 0;
1645radio.sendUpdateCellLocationRequest(slotId, (err: BusinessError) => {
1646    if (err) {
1647        console.error(`sendUpdateCellLocationRequest failed, callback: err->${JSON.stringify(err)}`);
1648        return;
1649    }
1650    console.log(`sendUpdateCellLocationRequest success.`);
1651});
1652```
1653
1654## radio.sendUpdateCellLocationRequest<sup>8+</sup>
1655
1656sendUpdateCellLocationRequest\(slotId?: number\): Promise\<void\>
1657
1658Sends a cell location update request for the SIM card in the specified slot. This API uses a promise to return the result.
1659
1660**System API**: This is a system API.
1661
1662**Required permissions**: ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION
1663
1664**System capability**: SystemCapability.Telephony.CoreService
1665
1666**Parameters**
1667
1668| Name| Type  | Mandatory| Description                                  |
1669| ------ | ------ | ---- | -------------------------------------- |
1670| slotId | number | No  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
1671
1672**Return value**
1673
1674| Type           | Description                   |
1675| --------------- | ----------------------- |
1676| Promise\<void\> | Promise used to return the result.|
1677
1678**Error codes**
1679
1680For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1681
1682| ID|                  Error Message                   |
1683| -------- | -------------------------------------------- |
1684| 201      | Permission denied.                           |
1685| 202      | Non-system applications use system APIs.     |
1686| 401      | Parameter error.                             |
1687| 8300001  | Invalid parameter value.                     |
1688| 8300002  | Operation failed. Cannot connect to service. |
1689| 8300003  | System internal error.                       |
1690| 8300999  | Unknown error code.                          |
1691
1692**Example**
1693
1694```ts
1695import { BusinessError } from '@ohos.base';
1696
1697let slotId: number = 0;
1698radio.sendUpdateCellLocationRequest(slotId).then(() => {
1699    console.log(`sendUpdateCellLocationRequest success.`);
1700}).catch((err: BusinessError) => {
1701    console.error(`sendUpdateCellLocationRequest failed, promise: err->${JSON.stringify(err)}`);
1702});
1703```
1704
1705## radio.getCellInformation<sup>8+</sup>
1706
1707getCellInformation\(callback: AsyncCallback\<Array\<CellInformation\>\>\): void
1708
1709Obtains cell information. This API uses an asynchronous callback to return the result.
1710
1711**System API**: This is a system API.
1712
1713**Required permissions**: ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION
1714
1715**System capability**: SystemCapability.Telephony.CoreService
1716
1717**Parameters**
1718
1719| Name  | Type                                                        | Mandatory| Description                    |
1720| -------- | ------------------------------------------------------------ | ---- | ------------------------ |
1721| callback | AsyncCallback\<Array<[CellInformation](#cellinformation8)\>\> | Yes  | Callback used to return the result.  |
1722
1723**Error codes**
1724
1725For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1726
1727| ID|                  Error Message                   |
1728| -------- | -------------------------------------------- |
1729| 201      | Permission denied.                           |
1730| 202      | Non-system applications use system APIs.     |
1731| 401      | Parameter error.                             |
1732| 8300001  | Invalid parameter value.                     |
1733| 8300002  | Operation failed. Cannot connect to service. |
1734| 8300003  | System internal error.                       |
1735| 8300999  | Unknown error code.                          |
1736
1737**Example**
1738
1739```ts
1740import { BusinessError } from '@ohos.base';
1741
1742radio.getCellInformation((err: BusinessError, data: Array<radio.CellInformation>) => {
1743    if (err) {
1744        console.error(`getCellInformation failed, callback: err->${JSON.stringify(err)}`);
1745        return;
1746    }
1747    console.log(`getCellInformation success, callback: data->${JSON.stringify(data)}`);
1748});
1749```
1750
1751
1752## radio.getCellInformation<sup>8+</sup>
1753
1754getCellInformation\(slotId: number, callback: AsyncCallback\<Array\<CellInformation\>\>\): void
1755
1756Obtains cell information of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
1757
1758**System API**: This is a system API.
1759
1760**Required permissions**: ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION
1761
1762**System capability**: SystemCapability.Telephony.CoreService
1763
1764**Parameters**
1765
1766| Name  | Type                                                        | Mandatory| Description                                  |
1767| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
1768| slotId   | number                                                       | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
1769| callback | AsyncCallback\<Array<[CellInformation](#cellinformation8)\>\> | Yes  | Callback used to return the result.  |
1770
1771**Error codes**
1772
1773For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1774
1775| ID|                  Error Message                   |
1776| -------- | -------------------------------------------- |
1777| 201      | Permission denied.                           |
1778| 202      | Non-system applications use system APIs.     |
1779| 401      | Parameter error.                             |
1780| 8300001  | Invalid parameter value.                     |
1781| 8300002  | Operation failed. Cannot connect to service. |
1782| 8300003  | System internal error.                       |
1783| 8300999  | Unknown error code.                          |
1784
1785**Example**
1786
1787```ts
1788import { BusinessError } from '@ohos.base';
1789
1790let slotId: number = 0;
1791radio.getCellInformation(slotId, (err: BusinessError, data: Array<radio.CellInformation>) => {
1792    if (err) {
1793        console.error(`getCellInformation failed, callback: err->${JSON.stringify(err)}`);
1794        return;
1795    }
1796    console.log(`getCellInformation success, callback: data->${JSON.stringify(data)}`);
1797});
1798```
1799
1800
1801## radio.getCellInformation<sup>8+</sup>
1802
1803getCellInformation\(slotId?: number\): Promise\<Array\<CellInformation\>\>
1804
1805Obtains cell information of the SIM card in the specified slot. This API uses a promise to return the result.
1806
1807**System API**: This is a system API.
1808
1809**Required permissions**: ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION
1810
1811**System capability**: SystemCapability.Telephony.CoreService
1812
1813**Parameters**
1814
1815| Name| Type  | Mandatory| Description                                  |
1816| ------ | ------ | ---- | -------------------------------------- |
1817| slotId | number | No  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
1818
1819**Return value**
1820
1821| Type                                                   | Description                   |
1822| ------------------------------------------------------- | ----------------------- |
1823| Promise\<Array<[CellInformation](#cellinformation8)\>\> | Promise used to return the result.|
1824
1825**Error codes**
1826
1827For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1828
1829| ID|                  Error Message                   |
1830| -------- | -------------------------------------------- |
1831| 201      | Permission denied.                           |
1832| 202      | Non-system applications use system APIs.     |
1833| 401      | Parameter error.                             |
1834| 8300001  | Invalid parameter value.                     |
1835| 8300002  | Operation failed. Cannot connect to service. |
1836| 8300003  | System internal error.                       |
1837| 8300999  | Unknown error code.                          |
1838
1839**Example**
1840
1841```ts
1842import { BusinessError } from '@ohos.base';
1843
1844let slotId: number = 0;
1845radio.getCellInformation(slotId).then((data: Array<radio.CellInformation>) => {
1846    console.log(`getCellInformation success, promise: data->${JSON.stringify(data)}`);
1847}).catch((err: BusinessError) => {
1848    console.error(`getCellInformation failed, promise: err->${JSON.stringify(err)}`);
1849});
1850```
1851
1852## radio.setNetworkSelectionMode
1853
1854setNetworkSelectionMode\(options: NetworkSelectionModeOptions, callback: AsyncCallback\<void\>\): void
1855
1856Sets the network selection mode. This API uses an asynchronous callback to return the result.
1857
1858**System API**: This is a system API.
1859
1860**Required permission**: ohos.permission.SET_TELEPHONY_STATE
1861
1862**System capability**: SystemCapability.Telephony.CoreService
1863
1864**Parameters**
1865
1866| Name  | Type                                                       | Mandatory| Description              |
1867| -------- | ----------------------------------------------------------- | ---- | ------------------ |
1868| options  | [NetworkSelectionModeOptions](#networkselectionmodeoptions) | Yes  | Network selection mode.|
1869| callback | AsyncCallback\<void\>                                       | Yes  | Callback used to return the result.      |
1870
1871**Error codes**
1872
1873For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1874
1875| ID|                  Error Message                   |
1876| -------- | -------------------------------------------- |
1877| 201      | Permission denied.                           |
1878| 202      | Non-system applications use system APIs.     |
1879| 401      | Parameter error.                             |
1880| 8300001  | Invalid parameter value.                     |
1881| 8300002  | Operation failed. Cannot connect to service. |
1882| 8300003  | System internal error.                       |
1883| 8300999  | Unknown error code.                          |
1884
1885**Example**
1886
1887```ts
1888import { BusinessError } from '@ohos.base';
1889
1890let networkInformation: radio.NetworkInformation = {
1891    operatorName: "China Mobile",
1892    operatorNumeric: "898600",
1893    state: radio.NetworkInformationState.NETWORK_AVAILABLE,
1894    radioTech: "CS"
1895}
1896let networkSelectionModeOptions: radio.NetworkSelectionModeOptions = {
1897    slotId: 0,
1898    selectMode: radio.NetworkSelectionMode.NETWORK_SELECTION_AUTOMATIC,
1899    networkInformation: networkInformation,
1900    resumeSelection: true
1901}
1902radio.setNetworkSelectionMode(networkSelectionModeOptions, (err: BusinessError) => {
1903    if (err) {
1904        console.error(`setNetworkSelectionMode failed, callback: err->${JSON.stringify(err)}`);
1905        return;
1906    }
1907    console.log(`setNetworkSelectionMode success.`);
1908});
1909```
1910
1911## radio.setNetworkSelectionMode
1912
1913setNetworkSelectionMode\(options: NetworkSelectionModeOptions\): Promise\<void\>
1914
1915Sets the network selection mode. This API uses a promise to return the result.
1916
1917**System API**: This is a system API.
1918
1919**Required permission**: ohos.permission.SET_TELEPHONY_STATE
1920
1921**System capability**: SystemCapability.Telephony.CoreService
1922
1923**Parameters**
1924
1925| Name | Type                                                       | Mandatory| Description              |
1926| ------- | ----------------------------------------------------------- | ---- | ------------------ |
1927| options | [NetworkSelectionModeOptions](#networkselectionmodeoptions) | Yes  | Network selection mode.|
1928
1929**Return value**
1930
1931| Type           | Description                   |
1932| --------------- | ----------------------- |
1933| Promise\<void\> | Promise used to return the result.|
1934
1935**Error codes**
1936
1937For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1938
1939| ID|                  Error Message                   |
1940| -------- | -------------------------------------------- |
1941| 201      | Permission denied.                           |
1942| 202      | Non-system applications use system APIs.     |
1943| 401      | Parameter error.                             |
1944| 8300001  | Invalid parameter value.                     |
1945| 8300002  | Operation failed. Cannot connect to service. |
1946| 8300003  | System internal error.                       |
1947| 8300999  | Unknown error code.                          |
1948
1949**Example**
1950
1951```ts
1952import { BusinessError } from '@ohos.base';
1953
1954let networkInformation: radio.NetworkInformation = {
1955    operatorName: "China Mobile",
1956    operatorNumeric: "898600",
1957    state: radio.NetworkInformationState.NETWORK_AVAILABLE,
1958    radioTech: "CS"
1959}
1960let networkSelectionModeOptions: radio.NetworkSelectionModeOptions = {
1961    slotId: 0,
1962    selectMode: radio.NetworkSelectionMode.NETWORK_SELECTION_AUTOMATIC,
1963    networkInformation: networkInformation,
1964    resumeSelection: true
1965}
1966radio.setNetworkSelectionMode(networkSelectionModeOptions).then(() => {
1967    console.log(`setNetworkSelectionMode success.`);
1968}).catch((err: BusinessError) => {
1969    console.error(`setNetworkSelectionMode failed, promise: err->${JSON.stringify(err)}`);
1970});
1971```
1972
1973## radio.getNetworkSearchInformation
1974
1975getNetworkSearchInformation\(slotId: number, callback: AsyncCallback\<NetworkSearchResult\>\): void
1976
1977Obtains network search information of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
1978
1979**System API**: This is a system API.
1980
1981**Required permission**: ohos.permission.GET_TELEPHONY_STATE
1982
1983**System capability**: SystemCapability.Telephony.CoreService
1984
1985**Parameters**
1986
1987| Name  | Type                                                        | Mandatory| Description                                  |
1988| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
1989| slotId   | number                                                       | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
1990| callback | AsyncCallback\<[NetworkSearchResult](#networksearchresult)\> | Yes  | Callback used to return the result.  |
1991
1992**Error codes**
1993
1994For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
1995
1996| ID|                  Error Message                   |
1997| -------- | -------------------------------------------- |
1998| 201      | Permission denied.                           |
1999| 202      | Non-system applications use system APIs.     |
2000| 401      | Parameter error.                             |
2001| 8300001  | Invalid parameter value.                     |
2002| 8300002  | Operation failed. Cannot connect to service. |
2003| 8300003  | System internal error.                       |
2004| 8300999  | Unknown error code.                          |
2005
2006**Example**
2007
2008```ts
2009import { BusinessError } from '@ohos.base';
2010
2011radio.getNetworkSearchInformation(0, (err: BusinessError, data: radio.NetworkSearchResult) => {
2012    if (err) {
2013        console.error(`getNetworkSearchInformation failed, callback: err->${JSON.stringify(err)}`);
2014        return;
2015    }
2016    console.log(`getNetworkSearchInformation success, callback: data->${JSON.stringify(data)}`);
2017});
2018```
2019
2020## radio.getNetworkSearchInformation
2021
2022getNetworkSearchInformation\(slotId: number\): Promise\<NetworkSearchResult\>
2023
2024Obtains network search information of the SIM card in the specified slot. This API uses a promise to return the result.
2025
2026**System API**: This is a system API.
2027
2028**Required permission**: ohos.permission.GET_TELEPHONY_STATE
2029
2030**System capability**: SystemCapability.Telephony.CoreService
2031
2032**Parameters**
2033
2034| Name| Type  | Mandatory| Description                                  |
2035| ------ | ------ | ---- | -------------------------------------- |
2036| slotId | number | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
2037
2038**Return value**
2039
2040| Type                                                  | Description                   |
2041| ------------------------------------------------------ | ----------------------- |
2042| Promise\<[NetworkSearchResult](#networksearchresult)\> | Promise used to return the result.|
2043
2044**Error codes**
2045
2046For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2047
2048| ID|                  Error Message                   |
2049| -------- | -------------------------------------------- |
2050| 201      | Permission denied.                           |
2051| 202      | Non-system applications use system APIs.     |
2052| 401      | Parameter error.                             |
2053| 8300001  | Invalid parameter value.                     |
2054| 8300002  | Operation failed. Cannot connect to service. |
2055| 8300003  | System internal error.                       |
2056| 8300999  | Unknown error code.                          |
2057
2058**Example**
2059
2060```ts
2061import { BusinessError } from '@ohos.base';
2062
2063radio.getNetworkSearchInformation(0).then((data: radio.NetworkSearchResult) => {
2064    console.log(`getNetworkSearchInformation success, promise: data->${JSON.stringify(data)}`);
2065}).catch((err: BusinessError) => {
2066    console.error(`getNetworkSearchInformation failed, promise: err->${JSON.stringify(err)}`);
2067});
2068```
2069
2070## radio.getNrOptionMode<sup>(deprecated)</sup>
2071
2072getNrOptionMode\(callback: AsyncCallback\<NrOptionMode\>\): void
2073
2074Obtains the NR option mode of the SIM card. This API uses an asynchronous callback to return the result.
2075
2076> **NOTE**
2077>
2078> This API is supported since API version 8 and deprecated since API version 10. You are advised to use [getNROptionMode](#radiogetnroptionmode10).
2079
2080**System API**: This is a system API.
2081
2082**System capability**: SystemCapability.Telephony.CoreService
2083
2084**Parameters**
2085
2086| Name  | Type                                           | Mandatory| Description      |
2087| -------- | ----------------------------------------------- | ---- | ---------- |
2088| callback | AsyncCallback\<[NrOptionMode](#nroptionmodedeprecated)\> | Yes  | Callback used to return the result.  |
2089
2090**Error codes**
2091
2092For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2093
2094| ID|                 Error Message                    |
2095| -------- | -------------------------------------------- |
2096| 202      | Non-system applications use system APIs.     |
2097| 401      | Parameter error.                             |
2098| 8300001  | Invalid parameter value.                     |
2099| 8300002  | Operation failed. Cannot connect to service. |
2100| 8300003  | System internal error.                       |
2101| 8300999  | Unknown error code.                          |
2102
2103**Example**
2104
2105```ts
2106import { BusinessError } from '@ohos.base';
2107
2108radio.getNrOptionMode((err: BusinessError, data: radio.NrOptionMode) => {
2109    if (err) {
2110        console.error(`getNrOptionMode failed, callback: err->${JSON.stringify(err)}`);
2111        return;
2112    }
2113    console.log(`getNrOptionMode success, callback: data->${JSON.stringify(data)}`);
2114});
2115```
2116
2117
2118## radio.getNrOptionMode<sup>(deprecated)</sup>
2119
2120getNrOptionMode\(slotId: number, callback: AsyncCallback\<NrOptionMode\>\): void
2121
2122Obtains the NR option mode of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
2123
2124> **NOTE**
2125>
2126> This API is supported since API version 8 and deprecated since API version 10. You are advised to use [getNROptionMode](#radiogetnroptionmode10).
2127
2128**System API**: This is a system API.
2129
2130**System capability**: SystemCapability.Telephony.CoreService
2131
2132**Parameters**
2133
2134| Name  | Type                                           | Mandatory| Description                                  |
2135| -------- | ----------------------------------------------- | ---- | ------------------------------------- |
2136| slotId   | number                                          | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
2137| callback | AsyncCallback\<[NrOptionMode](#nroptionmodedeprecated)\> | Yes  | Callback used to return the result.  |
2138
2139**Error codes**
2140
2141For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2142
2143| ID|                 Error Message                    |
2144| -------- | -------------------------------------------- |
2145| 202      | Non-system applications use system APIs.     |
2146| 401      | Parameter error.                             |
2147| 8300001  | Invalid parameter value.                     |
2148| 8300002  | Operation failed. Cannot connect to service. |
2149| 8300003  | System internal error.                       |
2150| 8300999  | Unknown error code.                          |
2151
2152**Example**
2153
2154```ts
2155import { BusinessError } from '@ohos.base';
2156
2157let slotId: number = 0;
2158radio.getNrOptionMode(slotId, (err: BusinessError, data: radio.NrOptionMode) => {
2159    if (err) {
2160        console.error(`getNrOptionModecallback failed, callback: err->${JSON.stringify(err)}`);
2161        return;
2162    }
2163    console.log(`getNrOptionModecallback success, callback: data->${JSON.stringify(data)}`);
2164});
2165```
2166
2167
2168## radio.getNrOptionMode<sup>(deprecated)</sup>
2169
2170getNrOptionMode\(slotId?: number\): Promise\<NrOptionMode\>
2171
2172Obtains the NR option mode of the SIM card in the specified slot. This API uses a promise to return the result.
2173
2174> **NOTE**
2175>
2176> This API is supported since API version 8 and deprecated since API version 10. You are advised to use [getNROptionMode](#radiogetnroptionmode10-1).
2177
2178**System API**: This is a system API.
2179
2180**System capability**: SystemCapability.Telephony.CoreService
2181
2182**Parameters**
2183
2184| Name| Type  | Mandatory| Description                                  |
2185| ------ | ------ | ---- | -------------------------------------- |
2186| slotId | number | No  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
2187
2188**Return value**
2189
2190| Type                                              | Description                   |
2191| -------------------------------------------------- | ----------------------- |
2192| Promise\<[NrOptionMode](#nroptionmodedeprecated)\> | Promise used to return the result. |
2193
2194**Error codes**
2195
2196For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2197
2198| ID|                 Error Message                    |
2199| -------- | -------------------------------------------- |
2200| 202      | Non-system applications use system APIs.     |
2201| 401      | Parameter error.                             |
2202| 8300001  | Invalid parameter value.                     |
2203| 8300002  | Operation failed. Cannot connect to service. |
2204| 8300003  | System internal error.                       |
2205| 8300999  | Unknown error code.                          |
2206
2207**Example**
2208
2209```ts
2210import { BusinessError } from '@ohos.base';
2211
2212let slotId: number = 0;
2213radio.getNrOptionMode(slotId).then((data: radio.NrOptionMode) => {
2214    console.log(`getNrOptionMode success, promise: data->${JSON.stringify(data)}`);
2215}).catch((err: BusinessError) => {
2216    console.error(`getNrOptionMode failed, promise: err->${JSON.stringify(err)}`);
2217});
2218```
2219
2220## radio.turnOnRadio<sup>7+</sup>
2221
2222turnOnRadio\(callback: AsyncCallback\<void\>\): void
2223
2224Turns on the radio function. This API uses an asynchronous callback to return the result.
2225
2226**System API**: This is a system API.
2227
2228**Required permission**: ohos.permission.SET_TELEPHONY_STATE
2229
2230**System capability**: SystemCapability.Telephony.CoreService
2231
2232**Parameters**
2233
2234| Name  | Type                 | Mandatory| Description      |
2235| -------- | --------------------- | ---- | ---------- |
2236| callback | AsyncCallback\<void\> | Yes  | Callback used to return the result.  |
2237
2238**Error codes**
2239
2240For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2241
2242| ID|                  Error Message                   |
2243| -------- | -------------------------------------------- |
2244| 201      | Permission denied.                           |
2245| 202      | Non-system applications use system APIs.     |
2246| 401      | Parameter error.                             |
2247| 8300001  | Invalid parameter value.                     |
2248| 8300002  | Operation failed. Cannot connect to service. |
2249| 8300003  | System internal error.                       |
2250| 8300999  | Unknown error code.                          |
2251
2252**Example**
2253
2254```ts
2255import { BusinessError } from '@ohos.base';
2256
2257radio.turnOnRadio((err: BusinessError) => {
2258    if (err) {
2259        console.error(`turnOnRadio failed, callback: err->${JSON.stringify(err)}`);
2260        return;
2261    }
2262    console.log(`turnOnRadio success.`);
2263});
2264```
2265
2266
2267## radio.turnOnRadio<sup>7+</sup>
2268
2269turnOnRadio\(slotId: number, callback: AsyncCallback\<void\>\): void
2270
2271Enables the radio service for the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
2272
2273**System API**: This is a system API.
2274
2275**Required permission**: ohos.permission.SET_TELEPHONY_STATE
2276
2277**System capability**: SystemCapability.Telephony.CoreService
2278
2279**Parameters**
2280
2281| Name  | Type                 | Mandatory| Description                                  |
2282| -------- | --------------------- | ---- | -------------------------------------- |
2283| slotId   | number                | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
2284| callback | AsyncCallback\<void\> | Yes  | Callback used to return the result.       |
2285
2286**Error codes**
2287
2288For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2289
2290| ID|                  Error Message                   |
2291| -------- | -------------------------------------------- |
2292| 201      | Permission denied.                           |
2293| 202      | Non-system applications use system APIs.     |
2294| 401      | Parameter error.                             |
2295| 8300001  | Invalid parameter value.                     |
2296| 8300002  | Operation failed. Cannot connect to service. |
2297| 8300003  | System internal error.                       |
2298| 8300999  | Unknown error code.                          |
2299
2300**Example**
2301
2302```ts
2303import { BusinessError } from '@ohos.base';
2304
2305let slotId: number = 0;
2306radio.turnOnRadio(slotId, (err: BusinessError) => {
2307    if (err) {
2308        console.error(`turnOnRadio failed, callback: err->${JSON.stringify(err)}`);
2309        return;
2310    }
2311    console.log(`turnOnRadio success.`);
2312});
2313```
2314
2315
2316## radio.turnOnRadio<sup>7+</sup>
2317
2318turnOnRadio(slotId?: number): Promise\<void\>
2319
2320Turns on the radio function for the SIM card in the specified slot. This API uses a promise to return the result.
2321
2322**System API**: This is a system API.
2323
2324**Required permission**: ohos.permission.SET_TELEPHONY_STATE
2325
2326**System capability**: SystemCapability.Telephony.CoreService
2327
2328**Parameters**
2329
2330| Name| Type  | Mandatory| Description                                  |
2331| ------ | ------ | ---- | -------------------------------------- |
2332| slotId | number | No  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
2333
2334**Return value**
2335
2336| Type           | Description                   |
2337| --------------- | ----------------------- |
2338| Promise\<void\> | Promise used to return the result.|
2339
2340**Error codes**
2341
2342For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2343
2344| ID|                  Error Message                   |
2345| -------- | -------------------------------------------- |
2346| 201      | Permission denied.                           |
2347| 202      | Non-system applications use system APIs.     |
2348| 401      | Parameter error.                             |
2349| 8300001  | Invalid parameter value.                     |
2350| 8300002  | Operation failed. Cannot connect to service. |
2351| 8300003  | System internal error.                       |
2352| 8300999  | Unknown error code.                          |
2353
2354**Example**
2355
2356```ts
2357import { BusinessError } from '@ohos.base';
2358
2359let slotId: number = 0;
2360radio.turnOnRadio(slotId).then(() => {
2361    console.log(`turnOnRadio success.`);
2362}).catch((err: BusinessError) => {
2363    console.error(`turnOnRadio failed, promise: err->${JSON.stringify(err)}`);
2364});
2365```
2366
2367## radio.turnOffRadio<sup>7+</sup>
2368
2369turnOffRadio\(callback: AsyncCallback\<void\>\): void
2370
2371Turns off the radio function. This API uses an asynchronous callback to return the result.
2372
2373**System API**: This is a system API.
2374
2375**Required permission**: ohos.permission.SET_TELEPHONY_STATE
2376
2377**System capability**: SystemCapability.Telephony.CoreService
2378
2379**Parameters**
2380
2381| Name  | Type                 | Mandatory| Description      |
2382| -------- | --------------------- | ---- | ---------- |
2383| callback | AsyncCallback\<void\> | Yes  | Callback used to return the result.  |
2384
2385**Error codes**
2386
2387For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2388
2389| ID|                  Error Message                   |
2390| -------- | -------------------------------------------- |
2391| 201      | Permission denied.                           |
2392| 202      | Non-system applications use system APIs.     |
2393| 401      | Parameter error.                             |
2394| 8300001  | Invalid parameter value.                     |
2395| 8300002  | Operation failed. Cannot connect to service. |
2396| 8300003  | System internal error.                       |
2397| 8300999  | Unknown error code.                          |
2398
2399**Example**
2400
2401```ts
2402import { BusinessError } from '@ohos.base';
2403
2404radio.turnOffRadio((err: BusinessError) => {
2405    if (err) {
2406        console.error(`turnOffRadio failed, callback: err->${JSON.stringify(err)}`);
2407        return;
2408    }
2409    console.log(`turnOffRadio success.`);
2410});
2411```
2412
2413
2414## radio.turnOffRadio<sup>7+</sup>
2415
2416turnOffRadio\(slotId: number, callback: AsyncCallback\<void\>\): void
2417
2418Disables the radio service for the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
2419
2420**System API**: This is a system API.
2421
2422**Required permission**: ohos.permission.SET_TELEPHONY_STATE
2423
2424**System capability**: SystemCapability.Telephony.CoreService
2425
2426**Parameters**
2427
2428| Name  | Type                 | Mandatory| Description                                  |
2429| -------- | --------------------- | ---- | -------------------------------------- |
2430| slotId   | number                | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
2431| callback | AsyncCallback\<void\> | Yes  | Callback used to return the result.  |
2432
2433**Error codes**
2434
2435For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2436
2437| ID|                  Error Message                   |
2438| -------- | -------------------------------------------- |
2439| 201      | Permission denied.                           |
2440| 202      | Non-system applications use system APIs.     |
2441| 401      | Parameter error.                             |
2442| 8300001  | Invalid parameter value.                     |
2443| 8300002  | Operation failed. Cannot connect to service. |
2444| 8300003  | System internal error.                       |
2445| 8300999  | Unknown error code.                          |
2446
2447**Example**
2448
2449```ts
2450import { BusinessError } from '@ohos.base';
2451
2452let slotId: number = 0;
2453radio.turnOffRadio(slotId, (err: BusinessError) => {
2454    if (err) {
2455        console.error(`turnOffRadio failed, callback: err->${JSON.stringify(err)}`);
2456        return;
2457    }
2458    console.log(`turnOffRadio success.`);
2459});
2460```
2461
2462
2463## radio.turnOffRadio<sup>7+</sup>
2464
2465turnOffRadio\(slotId?: number\): Promise\<void\>
2466
2467Turns off the radio function for the SIM card in the specified slot. This API uses a promise to return the result.
2468
2469**System API**: This is a system API.
2470
2471**Required permission**: ohos.permission.SET_TELEPHONY_STATE
2472
2473**System capability**: SystemCapability.Telephony.CoreService
2474
2475**Parameters**
2476
2477| Name| Type  | Mandatory| Description                                  |
2478| ------ | ------ | ---- | -------------------------------------- |
2479| slotId | number | No  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
2480
2481**Return value**
2482
2483| Type           | Description                   |
2484| --------------- | ----------------------- |
2485| Promise\<void\> | Promise used to return the result.|
2486
2487**Error codes**
2488
2489For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2490
2491| ID|                  Error Message                   |
2492| -------- | -------------------------------------------- |
2493| 201      | Permission denied.                           |
2494| 202      | Non-system applications use system APIs.     |
2495| 401      | Parameter error.                             |
2496| 8300001  | Invalid parameter value.                     |
2497| 8300002  | Operation failed. Cannot connect to service. |
2498| 8300003  | System internal error.                       |
2499| 8300999  | Unknown error code.                          |
2500
2501**Example**
2502
2503```ts
2504import { BusinessError } from '@ohos.base';
2505
2506let slotId: number = 0;
2507radio.turnOffRadio(slotId).then(() => {
2508    console.log(`turnOffRadio success.`);
2509}).catch((err: BusinessError) => {
2510    console.error(`turnOffRadio failed, promise: err->${JSON.stringify(err)}`);
2511});
2512```
2513
2514## radio.setPreferredNetwork<sup>8+</sup>
2515
2516setPreferredNetwork\(slotId: number, networkMode: PreferredNetworkMode, callback: AsyncCallback\<void\>\): void
2517
2518Sets the preferred network of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
2519
2520**System API**: This is a system API.
2521
2522**Required permission**: ohos.permission.SET_TELEPHONY_STATE
2523
2524**System capability**: SystemCapability.Telephony.CoreService
2525
2526**Parameters**
2527
2528| Name     | Type                                          | Mandatory| Description                                  |
2529| ----------- | ---------------------------------------------- | ---- | -------------------------------------- |
2530| slotId      | number                                         | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
2531| networkMode | [PreferredNetworkMode](#preferrednetworkmode8) | Yes  | Preferred network mode.                      |
2532| callback    | AsyncCallback\<void\>                          | Yes  | Callback used to return the result.  |
2533
2534**Error codes**
2535
2536For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2537
2538| ID|                  Error Message                   |
2539| -------- | -------------------------------------------- |
2540| 201      | Permission denied.                           |
2541| 202      | Non-system applications use system APIs.     |
2542| 401      | Parameter error.                             |
2543| 8300001  | Invalid parameter value.                     |
2544| 8300002  | Operation failed. Cannot connect to service. |
2545| 8300003  | System internal error.                       |
2546| 8300999  | Unknown error code.                          |
2547
2548**Example**
2549
2550```ts
2551import { BusinessError } from '@ohos.base';
2552
2553let slotId: number = 0;
2554let mode: radio.PreferredNetworkMode = radio.PreferredNetworkMode.PREFERRED_NETWORK_MODE_GSM;
2555radio.setPreferredNetwork(slotId, mode, (err: BusinessError) => {
2556    if (err) {
2557        console.error(`setPreferredNetwork failed, callback: err->${JSON.stringify(err)}`);
2558        return;
2559    }
2560    console.log(`setPreferredNetwork success.`);
2561});
2562```
2563
2564## radio.setPreferredNetwork<sup>8+</sup>
2565
2566setPreferredNetwork\(slotId: number, networkMode: PreferredNetworkMode\): Promise\<void\>
2567
2568Sets the preferred network of the SIM card in the specified slot. This API uses a promise to return the result.
2569
2570**System API**: This is a system API.
2571
2572**Required permission**: ohos.permission.SET_TELEPHONY_STATE
2573
2574**System capability**: SystemCapability.Telephony.CoreService
2575
2576**Parameters**
2577
2578| Name     | Type                                          | Mandatory| Description                                  |
2579| ----------- | ---------------------------------------------- | ---- | -------------------------------------- |
2580| slotId      | number                                         | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
2581| networkMode | [PreferredNetworkMode](#preferrednetworkmode8) | Yes  | Preferred network mode.|
2582
2583**Return value**
2584
2585| Type           | Description                   |
2586| --------------- | ----------------------- |
2587| Promise\<void\> | Promise used to return the result.|
2588
2589**Error codes**
2590
2591For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2592
2593| ID|                  Error Message                    |
2594| -------- | -------------------------------------------- |
2595| 201      | Permission denied.                           |
2596| 202      | Non-system applications use system APIs.     |
2597| 401      | Parameter error.                             |
2598| 8300001  | Invalid parameter value.                     |
2599| 8300002  | Operation failed. Cannot connect to service. |
2600| 8300003  | System internal error.                       |
2601| 8300999  | Unknown error code.                          |
2602
2603**Example**
2604
2605```ts
2606import { BusinessError } from '@ohos.base';
2607
2608let slotId: number = 0;
2609let mode: radio.PreferredNetworkMode = radio.PreferredNetworkMode.PREFERRED_NETWORK_MODE_GSM;
2610radio.setPreferredNetwork(slotId, mode).then(() => {
2611    console.log(`setPreferredNetwork success.`);
2612}).catch((err: BusinessError) => {
2613    console.error(`setPreferredNetwork failed, promise: err->${JSON.stringify(err)}`);
2614});
2615```
2616
2617## radio.getPreferredNetwork<sup>8+</sup>
2618
2619getPreferredNetwork\(slotId: number, callback: AsyncCallback\<PreferredNetworkMode\>\): void
2620
2621Obtains the preferred network of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
2622
2623**System API**: This is a system API.
2624
2625**Required permission**: ohos.permission.GET_TELEPHONY_STATE
2626
2627**System capability**: SystemCapability.Telephony.CoreService
2628
2629**Parameters**
2630
2631| Name  |                              Type                              | Mandatory| Description                                  |
2632| -------- | --------------------------------------------------------------- | ---- | -------------------------------------- |
2633| slotId   | number                                                          | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
2634| callback | AsyncCallback\<[PreferredNetworkMode](#preferrednetworkmode8)\> | Yes  | Callback used to return the result.  |
2635
2636**Error codes**
2637
2638For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2639
2640| ID|                  Error Message                   |
2641| -------- | -------------------------------------------- |
2642| 201      | Permission denied.                           |
2643| 202      | Non-system applications use system APIs.     |
2644| 401      | Parameter error.                             |
2645| 8300001  | Invalid parameter value.                     |
2646| 8300002  | Operation failed. Cannot connect to service. |
2647| 8300003  | System internal error.                       |
2648| 8300999  | Unknown error code.                          |
2649
2650**Example**
2651
2652```ts
2653import { BusinessError } from '@ohos.base';
2654
2655let slotId: number = 0;
2656radio.getPreferredNetwork(slotId, (err: BusinessError, data: radio.PreferredNetworkMode) => {
2657    if (err) {
2658        console.error(`getPreferredNetwork failed, callback: err->${JSON.stringify(err)}`);
2659        return;
2660    }
2661    console.log(`getPreferredNetwork success, callback: data->${JSON.stringify(data)}`);
2662});
2663```
2664
2665## radio.getPreferredNetwork<sup>8+</sup>
2666
2667getPreferredNetwork\(slotId: number\): Promise\<PreferredNetworkMode\>
2668
2669Obtains the preferred network of the SIM card in the specified slot. This API uses a promise to return the result.
2670
2671**System API**: This is a system API.
2672
2673**Required permission**: ohos.permission.GET_TELEPHONY_STATE
2674
2675**System capability**: SystemCapability.Telephony.CoreService
2676
2677**Parameters**
2678
2679| Name| Type  | Mandatory| Description                                  |
2680| ------ | ------ | ---- | -------------------------------------- |
2681| slotId | number | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
2682
2683**Return value**
2684
2685| Type           | Description                   |
2686| --------------- | ----------------------- |
2687| Promise\<[PreferredNetworkMode](#preferrednetworkmode8)\> | Promise used to return the result.|
2688
2689**Error codes**
2690
2691For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2692
2693| ID|                  Error Message                   |
2694| -------- | -------------------------------------------- |
2695| 201      | Permission denied.                           |
2696| 202      | Non-system applications use system APIs.     |
2697| 401      | Parameter error.                             |
2698| 8300001  | Invalid parameter value.                     |
2699| 8300002  | Operation failed. Cannot connect to service. |
2700| 8300003  | System internal error.                       |
2701| 8300999  | Unknown error code.                          |
2702
2703**Example**
2704
2705```ts
2706import { BusinessError } from '@ohos.base';
2707
2708let slotId: number = 0;
2709radio.getPreferredNetwork(slotId).then((data: radio.PreferredNetworkMode) => {
2710    console.log(`getPreferredNetwork success, promise: data->${JSON.stringify(data)}`);
2711}).catch((err: BusinessError) => {
2712    console.error(`getPreferredNetwork failed, promise: err->${JSON.stringify(err)}`);
2713});
2714```
2715
2716## radio.getImsRegInfo<sup>9+</sup>
2717
2718getImsRegInfo\(slotId: number, imsType: ImsServiceType, callback: AsyncCallback\<ImsRegInfo\>\): void
2719
2720Obtains the IMS registration status of the specified IMS service type for the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
2721
2722**System API**: This is a system API.
2723
2724**Required permission**: ohos.permission.GET_TELEPHONY_STATE
2725
2726**System capability**: SystemCapability.Telephony.CoreService
2727
2728**Parameters**
2729
2730| Name  | Type                                      | Mandatory| Description                                  |
2731| -------- | ------------------------------------------ | ---- | -------------------------------------- |
2732| slotId   | number                                     | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
2733| imsType  | [ImsServiceType](#imsservicetype9)         | Yes  | IMS service type.                         |
2734| callback | AsyncCallback<[ImsRegInfo](#imsreginfo9)\> | Yes  | Callback used to return the result.  |
2735
2736**Error codes**
2737
2738For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2739
2740| ID|                  Error Message                   |
2741| -------- | -------------------------------------------- |
2742| 201      | Permission denied.                           |
2743| 202      | Non-system applications use system APIs.     |
2744| 401      | Parameter error.                             |
2745| 8300001  | Invalid parameter value.                     |
2746| 8300002  | Operation failed. Cannot connect to service. |
2747| 8300003  | System internal error.                       |
2748| 8300999  | Unknown error code.                          |
2749
2750**Example**
2751
2752```ts
2753import { BusinessError } from '@ohos.base';
2754
2755let slotId: number = 0;
2756let mode: radio.ImsServiceType = radio.ImsServiceType.TYPE_VIDEO;
2757radio.getImsRegInfo(slotId, mode, (err: BusinessError, data: radio.ImsRegInfo) => {
2758    if (err) {
2759        console.error(`getImsRegInfo failed, callback: err->${JSON.stringify(err)}`);
2760        return;
2761    }
2762    console.log(`getImsRegInfo success, callback: data->${JSON.stringify(data)}`);
2763});
2764```
2765
2766## radio.getImsRegInfo<sup>9+</sup>
2767
2768getImsRegInfo\(slotId: number, imsType: ImsServiceType\): Promise\<ImsRegInfo\>
2769
2770Obtains the IMS registration status of the specified IMS service type for the SIM card in the specified slot. This API uses a promise to return the result.
2771
2772**System API**: This is a system API.
2773
2774**Required permission**: ohos.permission.GET_TELEPHONY_STATE
2775
2776**System capability**: SystemCapability.Telephony.CoreService
2777
2778**Parameters**
2779
2780| Name | Type                              | Mandatory| Description                                  |
2781| ------- | ---------------------------------- | ---- | -------------------------------------- |
2782| slotId  | number                             | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
2783| imsType | [ImsServiceType](#imsservicetype9) | Yes  | IMS service type.                         |
2784
2785**Return value**
2786
2787| Type                                 | Description                   |
2788| ------------------------------------- | ----------------------- |
2789| Promise\<[ImsRegInfo](#imsreginfo9)\> | Promise used to return the result.|
2790
2791**Error codes**
2792
2793For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2794
2795| ID|                  Error Message                   |
2796| -------- | -------------------------------------------- |
2797| 201      | Permission denied.                           |
2798| 202      | Non-system applications use system APIs.     |
2799| 401      | Parameter error.                             |
2800| 8300001  | Invalid parameter value.                     |
2801| 8300002  | Operation failed. Cannot connect to service. |
2802| 8300003  | System internal error.                       |
2803| 8300999  | Unknown error code.                          |
2804
2805**Example**
2806
2807```ts
2808import { BusinessError } from '@ohos.base';
2809
2810let slotId: number = 0;
2811let mode: radio.ImsServiceType = radio.ImsServiceType.TYPE_VIDEO;
2812radio.getImsRegInfo(slotId, mode).then((data: radio.ImsRegInfo) => {
2813    console.log(`getImsRegInfo success, promise: data->${JSON.stringify(data)}`);
2814}).catch((err: BusinessError) => {
2815    console.error(`getImsRegInfo failed, promise: err->${JSON.stringify(err)}`);
2816});
2817```
2818
2819## radio.on('imsRegStateChange')<sup>9+</sup>
2820
2821on\(type: 'imsRegStateChange', slotId: number, imsType: ImsServiceType, callback: Callback\<ImsRegInfo\>\): void
2822
2823Enables listening for **imsRegStateChange** events of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
2824
2825**System API**: This is a system API.
2826
2827**Required permission**: ohos.permission.GET_TELEPHONY_STATE
2828
2829**System capability**: SystemCapability.Telephony.CoreService
2830
2831**Parameters**
2832
2833| Name  | Type                                | Mandatory| Description                                  |
2834| -------- | ------------------------------------ | ---- | -------------------------------------- |
2835| type     | string                               | Yes  | IMS registration status change. This field has a fixed value of **imsRegStateChange**.               |
2836| slotId   | number                               | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
2837| imsType  | [ImsServiceType](#imsservicetype9)   | Yes  | IMS service type.                         |
2838| callback | Callback<[ImsRegInfo](#imsreginfo9)> | Yes  | Callback used to return the result.               |
2839
2840**Error codes**
2841
2842For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2843
2844| ID|                  Error Message                   |
2845| -------- | -------------------------------------------- |
2846| 201      | Permission denied.                           |
2847| 202      | Non-system applications use system APIs.     |
2848| 401      | Parameter error.                             |
2849| 8300001  | Invalid parameter value.                     |
2850| 8300002  | Operation failed. Cannot connect to service. |
2851| 8300003  | System internal error.                       |
2852| 8300999  | Unknown error code.                          |
2853
2854**Example**
2855
2856```ts
2857let slotId: number = 0;
2858let mode: radio.ImsServiceType = radio.ImsServiceType.TYPE_VIDEO;
2859radio.on('imsRegStateChange', slotId, mode, (data: radio.ImsRegInfo) => {
2860    console.log(`on imsRegStateChange success, callback: data->${JSON.stringify(data)}`);
2861});
2862```
2863
2864## radio.off('imsRegStateChange')<sup>9+</sup>
2865
2866off\(type: 'imsRegStateChange', slotId: number, imsType: ImsServiceType, callback?: Callback\<ImsRegInfo\>\): void
2867
2868Disables listening for **imsRegStateChange** events of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
2869
2870**System API**: This is a system API.
2871
2872**Required permission**: ohos.permission.GET_TELEPHONY_STATE
2873
2874**System capability**: SystemCapability.Telephony.CoreService
2875
2876**Parameters**
2877
2878| Name  | Type                                | Mandatory| Description                                  |
2879| -------- | ------------------------------------ | ---- | -------------------------------------- |
2880| type     | string                               | Yes  | IMS registration status change. This field has a fixed value of **imsRegStateChange**.    |
2881| slotId   | number                               | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
2882| imsType  | [ImsServiceType](#imsservicetype9)   | Yes  | IMS service type.                         |
2883| callback | Callback<[ImsRegInfo](#imsreginfo9)> | No  | Callback used to return the result.  If it is left unspecified, it indicates the callback for all the events will be unsubscribed. The value must be the same as the value of **callback** in **on('imsRegStateChange')**.  |
2884
2885**Error codes**
2886
2887For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2888
2889| ID|                  Error Message                   |
2890| -------- | -------------------------------------------- |
2891| 201      | Permission denied.                           |
2892| 202      | Non-system applications use system APIs.     |
2893| 401      | Parameter error.                             |
2894| 8300001  | Invalid parameter value.                     |
2895| 8300002  | Operation failed. Cannot connect to service. |
2896| 8300003  | System internal error.                       |
2897| 8300999  | Unknown error code.                          |
2898
2899**Example**
2900
2901```ts
2902let slotId: number = 0;
2903let mode: radio.ImsServiceType = radio.ImsServiceType.TYPE_VIDEO;
2904radio.off('imsRegStateChange', slotId, mode, (data: radio.ImsRegInfo) => {
2905    console.log(`off imsRegStateChange success, callback: data->${JSON.stringify(data)}`);
2906});
2907```
2908
2909
2910## radio.getBasebandVersion<sup>10+</sup>
2911
2912getBasebandVersion\(slotId: number, callback: AsyncCallback\<string\>\): void
2913
2914Obtains the device baseband version of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
2915
2916**System API**: This is a system API.
2917
2918**Required permission**: ohos.permission.GET_TELEPHONY_STATE
2919
2920**System capability**: SystemCapability.Telephony.CoreService
2921
2922**Parameters**
2923
2924| Name  | Type                   | Mandatory| Description                                  |
2925| -------- | ----------------------- | ---- | ------------------------------------- |
2926| slotId   | number                  | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
2927| callback | AsyncCallback\<string\> | Yes  | Callback used to return the result.             |
2928
2929**Error codes**
2930
2931For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2932
2933| ID|                  Error Message                    |
2934| -------- | -------------------------------------------- |
2935| 201      | Permission denied.                           |
2936| 202      | Non-system applications use system APIs.     |
2937| 401      | Parameter error.                             |
2938| 8300001  | Invalid parameter value.                     |
2939| 8300002  | Operation failed. Cannot connect to service. |
2940| 8300003  | System internal error.                       |
2941| 8300999  | Unknown error code.                          |
2942
2943**Example**
2944
2945```ts
2946import { BusinessError } from '@ohos.base';
2947
2948let slotId: number = 0;
2949radio.getBasebandVersion(slotId, (err: BusinessError, data: string) => {
2950    if (err) {
2951        console.error(`getBasebandVersion failed, callback: err->${JSON.stringify(err)}`);
2952        return;
2953    }
2954    console.log(`getBasebandVersion success, callback: data->${JSON.stringify(data)}`);
2955});
2956```
2957
2958
2959## radio.getBasebandVersion<sup>10+</sup>
2960
2961getBasebandVersion\(slotId: number\): Promise\<string\>
2962
2963Obtains the device baseband version of the SIM card in the specified slot. This API uses a promise to return the result.
2964
2965**System API**: This is a system API.
2966
2967**Required permission**: ohos.permission.GET_TELEPHONY_STATE
2968
2969**System capability**: SystemCapability.Telephony.CoreService
2970
2971**Parameters**
2972
2973| Name  | Type                    | Mandatory| Description                                 |
2974| -------- | ----------------------- | ---- | ------------------------------------- |
2975| slotId   | number                  | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
2976
2977**Return value**
2978
2979| Type             | Description                                   |
2980| ----------------- | -------------------------------------- |
2981| Promise\<string\> | Promise used to return the result.     |
2982
2983**Error codes**
2984
2985For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
2986
2987| ID|                  Error Message                    |
2988| -------- | -------------------------------------------- |
2989| 201      | Permission denied.                           |
2990| 202      | Non-system applications use system APIs.     |
2991| 401      | Parameter error.                             |
2992| 8300001  | Invalid parameter value.                     |
2993| 8300002  | Operation failed. Cannot connect to service. |
2994| 8300003  | System internal error.                       |
2995| 8300999  | Unknown error code.                          |
2996
2997**Example**
2998
2999```ts
3000import { BusinessError } from '@ohos.base';
3001
3002let slotId: number = 0;
3003radio.getBasebandVersion(slotId).then((data: string) => {
3004    console.log(`getBasebandVersion success, promise: data->${JSON.stringify(data)}`);
3005}).catch((err: BusinessError) => {
3006    console.error(`getBasebandVersion failed, promise: err->${JSON.stringify(err)}`);
3007});
3008```
3009
3010
3011## radio.setNROptionMode<sup>10+</sup>
3012
3013setNROptionMode\(slotId: number, mode: NROptionMode, callback: AsyncCallback\<void\>\): void
3014
3015Sets the NR mode of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
3016
3017**System API**: This is a system API.
3018
3019**Required permission**: ohos.permission.SET_TELEPHONY_STATE
3020
3021**System capability**: SystemCapability.Telephony.CoreService
3022
3023**Parameters**
3024
3025| Name  | Type                                             | Mandatory| Description                                  |
3026| -------- | ------------------------------------------------ | ---- | -------------------------------------- |
3027| slotId   | number                                           | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2 |
3028| mode     | [NROptionMode](#nroptionmode10)                  | Yes  | Enumerates NR selection modes.                         |
3029| callback | AsyncCallback\<void\>                            | Yes  | Callback used to return the result.  |
3030
3031**Error codes**
3032
3033For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
3034
3035| ID|                  Error Message                    |
3036| -------- | -------------------------------------------- |
3037| 201      | Permission denied.                           |
3038| 202      | Non-system applications use system APIs.     |
3039| 401      | Parameter error.                             |
3040| 8300001  | Invalid parameter value.                     |
3041| 8300002  | Operation failed. Cannot connect to service. |
3042| 8300003  | System internal error.                       |
3043| 8300999  | Unknown error code.                          |
3044
3045**Example**
3046
3047```ts
3048import { BusinessError } from '@ohos.base';
3049
3050let slotId: number = 0;
3051let mode: radio.NROptionMode = radio.NROptionMode.NR_OPTION_NSA_ONLY;
3052radio.setNROptionMode(slotId, mode, (err: BusinessError) => {
3053    if (err) {
3054        console.error(`setNROptionMode failed, callback: err->${JSON.stringify(err)}`);
3055        return;
3056    }
3057    console.log(`setNROptionMode success.`);
3058});
3059```
3060
3061
3062## radio.setNROptionMode<sup>10+</sup>
3063
3064setNROptionMode\(slotId: number, mode: NROptionMode\): Promise\<void\>
3065
3066Sets the NR mode of the SIM card in the specified slot. This API uses a promise to return the result.
3067
3068**System API**: This is a system API.
3069
3070**Required permission**: ohos.permission.SET_TELEPHONY_STATE
3071
3072**System capability**: SystemCapability.Telephony.CoreService
3073
3074**Parameters**
3075
3076| Name|              Type              | Mandatory| Description                                  |
3077| ------ | ------------------------------- | ---- | ------------------------------------- |
3078| slotId | number                          | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
3079| mode   | [NROptionMode](#nroptionmode10) | Yes  | NR mode.  |
3080
3081**Return value**
3082
3083|        Type      |            Description        |
3084| ----------------- | ----------------------- |
3085| Promise\<void\>   | Promise used to return the result. |
3086
3087**Error codes**
3088
3089For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
3090
3091| ID|                 Error Message                     |
3092| -------- | -------------------------------------------- |
3093| 201      | Permission denied.                           |
3094| 202      | Non-system applications use system APIs.     |
3095| 401      | Parameter error.                             |
3096| 8300001  | Invalid parameter value.                     |
3097| 8300002  | Operation failed. Cannot connect to service. |
3098| 8300003  | System internal error.                       |
3099| 8300999  | Unknown error code.                          |
3100
3101**Example**
3102
3103```ts
3104import { BusinessError } from '@ohos.base';
3105
3106let slotId: number = 0;
3107let mode: radio.NROptionMode = radio.NROptionMode.NR_OPTION_NSA_ONLY;
3108radio.setNROptionMode(slotId, mode).then(() => {
3109    console.log(`setNROptionMode success`);
3110}).catch((err: BusinessError) => {
3111    console.error(`setNROptionMode failed, promise: err->${JSON.stringify(err)}`);
3112});
3113```
3114
3115
3116## radio.getNROptionMode<sup>10+</sup>
3117
3118getNROptionMode\(slotId: number, callback: AsyncCallback\<NROptionMode\>\): void
3119
3120Obtains the NR option mode of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
3121
3122**System API**: This is a system API.
3123
3124**System capability**: SystemCapability.Telephony.CoreService
3125
3126**Parameters**
3127
3128| Name  | Type                                             | Mandatory| Description                                  |
3129| -------- | ------------------------------------------------ | ---- | -------------------------------------- |
3130| slotId   | number                                           | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2 |
3131| callback | AsyncCallback\<[NROptionMode](#nroptionmode10)\> | Yes  | Callback used to return the result.            |
3132
3133**Error codes**
3134
3135For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
3136
3137| ID|                  Error Message                    |
3138| -------- | -------------------------------------------- |
3139| 202      | Non-system applications use system APIs.     |
3140| 401      | Parameter error.                             |
3141| 8300001  | Invalid parameter value.                     |
3142| 8300002  | Operation failed. Cannot connect to service. |
3143| 8300003  | System internal error.                       |
3144| 8300999  | Unknown error code.                          |
3145
3146**Example**
3147
3148```ts
3149import { BusinessError } from '@ohos.base';
3150
3151let slotId: number = 0;
3152radio.getNROptionMode(slotId, (err: BusinessError, data: radio.NROptionMode) => {
3153    if (err) {
3154        console.error(`getNROptionMode failed, callback: err->${JSON.stringify(err)}`);
3155        return;
3156    }
3157    console.log(`getNROptionMode success, callback: data->${JSON.stringify(data)}`);
3158});
3159```
3160
3161## radio.getNROptionMode<sup>10+</sup>
3162
3163getNROptionMode\(slotId: number\): Promise\<NROptionMode\>
3164
3165Obtains the NR option mode of the SIM card in the specified slot. This API uses a promise to return the result.
3166
3167**System API**: This is a system API.
3168
3169**System capability**: SystemCapability.Telephony.CoreService
3170
3171**Parameters**
3172
3173| Name| Type  | Mandatory| Description                                  |
3174| ------ | ------ | ---- | ------------------------------------- |
3175| slotId | number | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
3176
3177**Return value**
3178
3179| Type                                     | Description                   |
3180| ----------------------------------------- | ----------------------- |
3181| Promise\<[NROptionMode](#nroptionmode10)\> | Promise used to return the result.|
3182
3183**Error codes**
3184
3185For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
3186
3187| ID|                 Error Message                    |
3188| -------- | -------------------------------------------- |
3189| 202      | Non-system applications use system APIs.     |
3190| 401      | Parameter error.                             |
3191| 8300001  | Invalid parameter value.                     |
3192| 8300002  | Operation failed. Cannot connect to service. |
3193| 8300003  | System internal error.                       |
3194| 8300999  | Unknown error code.                          |
3195
3196**Example**
3197
3198```ts
3199import { BusinessError } from '@ohos.base';
3200
3201let slotId: number = 0;
3202radio.getNROptionMode(slotId).then((data: radio.NROptionMode) => {
3203    console.log(`getNROptionMode success, promise: data->${JSON.stringify(data)}`);
3204}).catch((err: BusinessError) => {
3205    console.error(`getNROptionMode failed, promise: err->${JSON.stringify(err)}`);
3206});
3207```
3208
3209
3210## radio.getNetworkCapability<sup>10+</sup>
3211
3212getNetworkCapability\(slotId: number, type: NetworkCapabilityType, callback: AsyncCallback\<NetworkCapabilityState\>\): void
3213
3214Obtains the network capability of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
3215
3216**System API**: This is a system API.
3217
3218**Required permission**: ohos.permission.GET_TELEPHONY_STATE
3219
3220**System capability**: SystemCapability.Telephony.CoreService
3221
3222**Parameters**
3223
3224| Name  |                              Type                                      | Mandatory| Description                                 |
3225| -------- | -----------------------------------------------------------------------| ---- | ----------------------------------- |
3226| slotId   | number                                                                 | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
3227| type     | [NetworkCapabilityType](#networkcapabilitytype10)                      | Yes  | Network capability type.                       |
3228| callback | AsyncCallback\<[NetworkCapabilityState](#networkcapabilitystate10)\>   | Yes  | Callback used to return the result.  |
3229
3230**Error codes**
3231
3232For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
3233
3234| ID|                  Error Message                   |
3235| -------- | -------------------------------------------- |
3236| 201      | Permission denied.                           |
3237| 202      | Non-system applications use system APIs.     |
3238| 401      | Parameter error.                             |
3239| 8300001  | Invalid parameter value.                     |
3240| 8300002  | Operation failed. Cannot connect to service. |
3241| 8300003  | System internal error.                       |
3242| 8300999  | Unknown error code.                          |
3243
3244**Example**
3245
3246```ts
3247import { BusinessError } from '@ohos.base';
3248
3249let slotId: number = 0;
3250let type: radio.NetworkCapabilityType = radio.NetworkCapabilityType.SERVICE_TYPE_NR;
3251radio.getNetworkCapability(slotId, type, (err: BusinessError, data: radio.NetworkCapabilityState) => {
3252    if (err) {
3253        console.error(`getNetworkCapability failed, callback: err->${JSON.stringify(err)}`);
3254        return;
3255    }
3256    console.log(`getNetworkCapability success, callback: err->${JSON.stringify(err)}`);
3257});
3258```
3259
3260
3261## radio.getNetworkCapability<sup>10+</sup>
3262
3263getNetworkCapability\(slotId: number, type: NetworkCapabilityType\): Promise\<NetworkCapabilityState\>
3264
3265Obtains the network capability of the SIM card in the specified slot. This API uses a promise to return the result.
3266
3267**System API**: This is a system API.
3268
3269**Required permission**: ohos.permission.GET_TELEPHONY_STATE
3270
3271**System capability**: SystemCapability.Telephony.CoreService
3272
3273**Parameters**
3274
3275| Name  |                              Type                              | Mandatory| Description                                  |
3276| -------- | --------------------------------------------------------------- | ---- | -------------------------------------- |
3277| slotId   | number                                                          | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
3278| type     | [NetworkCapabilityType](#networkcapabilitytype10)               | Yes  | Network capability type.                       |
3279
3280**Return value**
3281
3282| Type                                                        | Description                   |
3283| ------------------------------------------------------------- | ----------------------- |
3284| Promise\<[NetworkCapabilityState](#networkcapabilitystate10)\> | Promise used to return the result.|
3285
3286**Error codes**
3287
3288For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
3289
3290| ID|                  Error Message                   |
3291| -------- | -------------------------------------------- |
3292| 201      | Permission denied.                           |
3293| 202      | Non-system applications use system APIs.     |
3294| 401      | Parameter error.                             |
3295| 8300001  | Invalid parameter value.                     |
3296| 8300002  | Operation failed. Cannot connect to service. |
3297| 8300003  | System internal error.                       |
3298| 8300999  | Unknown error code.                          |
3299
3300**Example**
3301
3302```ts
3303import { BusinessError } from '@ohos.base';
3304
3305let slotId: number = 0;
3306let type: radio.NetworkCapabilityType = radio.NetworkCapabilityType.SERVICE_TYPE_NR;
3307radio.getNetworkCapability(slotId, type).then((data: radio.NetworkCapabilityState) => {
3308    console.log(`getNetworkCapability success, promise: data->${JSON.stringify(data)}`);
3309}).catch((err: BusinessError) => {
3310    console.error(`getNetworkCapability failed, promise: err->${JSON.stringify(err)}`);
3311});
3312```
3313
3314
3315## radio.setNetworkCapability<sup>10+</sup>
3316
3317setNetworkCapability\(slotId: number, type: NetworkCapabilityType, state: NetworkCapabilityState,
3318      callback: AsyncCallback\<void\>\): void
3319
3320Sets the network capability of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.
3321
3322**System API**: This is a system API.
3323
3324**Required permission**: ohos.permission.SET_TELEPHONY_STATE
3325
3326**System capability**: SystemCapability.Telephony.CoreService
3327
3328**Parameters**
3329
3330| Name  |                              Type                              | Mandatory| Description                                  |
3331| -------- | --------------------------------------------------------------- | ---- | -------------------------------------- |
3332| slotId   | number                                                          | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
3333| type     | [NetworkCapabilityType](#networkcapabilitytype10)               | Yes  | Network capability type.                       |
3334| state    | [NetworkCapabilityState](#networkcapabilitystate10)             | Yes  | Network capability status.                       |
3335| callback | AsyncCallback\<void\>                                           | Yes  | Callback used to return the result.  |
3336
3337**Error codes**
3338
3339For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
3340
3341| ID|                  Error Message                   |
3342| -------- | -------------------------------------------- |
3343| 201      | Permission denied.                           |
3344| 202      | Non-system applications use system APIs.     |
3345| 401      | Parameter error.                             |
3346| 8300001  | Invalid parameter value.                     |
3347| 8300002  | Operation failed. Cannot connect to service. |
3348| 8300003  | System internal error.                       |
3349| 8300999  | Unknown error code.                          |
3350
3351**Example**
3352
3353```ts
3354import { BusinessError } from '@ohos.base';
3355
3356let slotId: number = 0;
3357let type: radio.NetworkCapabilityType = radio.NetworkCapabilityType.SERVICE_TYPE_NR;
3358let state: radio.NetworkCapabilityState = radio.NetworkCapabilityState.SERVICE_CAPABILITY_ON;
3359radio.setNetworkCapability(slotId, type, state, (err: BusinessError) => {
3360    if (err) {
3361        console.error(`setNetworkCapability failed, callback: err->${JSON.stringify(err)}`);
3362        return;
3363    }
3364    console.log(`setNetworkCapability success.`);
3365});
3366```
3367
3368
3369## radio.setNetworkCapability<sup>10+</sup>
3370
3371setNetworkCapability\(slotId: number, type: NetworkCapabilityType, state: NetworkCapabilityState\): Promise\<void\>
3372
3373Sets the network capability of the SIM card in the specified slot. This API uses a promise to return the result.
3374
3375**System API**: This is a system API.
3376
3377**Required permission**: ohos.permission.SET_TELEPHONY_STATE
3378
3379**System capability**: SystemCapability.Telephony.CoreService
3380
3381**Parameters**
3382
3383| Name  |                              Type                              | Mandatory| Description                                  |
3384| -------- | --------------------------------------------------------------- | ---- | -------------------------------------- |
3385| slotId   | number                                                          | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
3386| type     | [NetworkCapabilityType](#networkcapabilitytype10)               | Yes  | Network capability type.                       |
3387| state    | [NetworkCapabilityState](#networkcapabilitystate10)             | Yes  | Network capability status.                       |
3388
3389**Return value**
3390
3391| Type           | Description                   |
3392| --------------- | ----------------------- |
3393| Promise\<void\> | Promise used to return the result.|
3394
3395**Error codes**
3396
3397For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
3398
3399| ID|                  Error Message                   |
3400| -------- | -------------------------------------------- |
3401| 201      | Permission denied.                           |
3402| 202      | Non-system applications use system APIs.     |
3403| 401      | Parameter error.                             |
3404| 8300001  | Invalid parameter value.                     |
3405| 8300002  | Operation failed. Cannot connect to service. |
3406| 8300003  | System internal error.                       |
3407| 8300999  | Unknown error code.                          |
3408
3409**Example**
3410
3411```ts
3412import { BusinessError } from '@ohos.base';
3413
3414let slotId: number = 0;
3415let type: radio.NetworkCapabilityType = radio.NetworkCapabilityType.SERVICE_TYPE_NR;
3416let state: radio.NetworkCapabilityState = radio.NetworkCapabilityState.SERVICE_CAPABILITY_ON;
3417radio.setNetworkCapability(slotId, type, state).then(() => {
3418    console.log(`setNetworkCapability success`);
3419}).catch((err: BusinessError) => {
3420    console.error(`setNetworkCapability failed, promise: err->${JSON.stringify(err)}`);
3421});
3422```
3423
3424## radio.factoryReset<sup>11+</sup>
3425
3426factoryReset\(slotId: number\): Promise\<void\>
3427
3428Restores the radio service to factory settings. This API uses a promise to return the result.
3429
3430**System API**: This is a system API.
3431
3432**Required permission**: ohos.permission.SET_TELEPHONY_STATE
3433
3434**System capability**: SystemCapability.Telephony.CoreService
3435
3436**Parameters**
3437
3438| Name  |                              Type                              | Mandatory| Description                                  |
3439| -------- | --------------------------------------------------------------- | ---- | -------------------------------------- |
3440| slotId   | number                                                          | Yes  | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
3441
3442**Return value**
3443
3444| Type           | Description                   |
3445| --------------- | ----------------------- |
3446| Promise\<void\> | Promise used to return the result.|
3447
3448**Error codes**
3449
3450For details about the error codes, see [Telephony Error Codes](../../reference/errorcodes/errorcode-telephony.md).
3451
3452| ID|                  Error Message                   |
3453| -------- | -------------------------------------------- |
3454| 201      | Permission denied.                           |
3455| 202      | Non-system applications use system APIs.     |
3456| 401      | Parameter error.                             |
3457| 8300001  | Invalid parameter value.                     |
3458| 8300002  | Operation failed. Cannot connect to service. |
3459| 8300003  | System internal error.                       |
3460| 8300999  | Unknown error code.                          |
3461
3462**Example**
3463
3464```ts
3465import { BusinessError } from '@ohos.base';
3466
3467let slotId: number = 0;
3468radio.factoryReset(slotId).then(() => {
3469    console.log(`factoryReset success`);
3470}).catch((err: BusinessError) => {
3471    console.error(`factoryReset failed, promise: err->${JSON.stringify(err)}`);
3472});
3473```
3474
3475## NetworkRadioTech<sup>11+</sup>
3476
3477Defines the radio access technology for the packet switched (PS) or circuit switched (CS) network.
3478
3479**System capability**: SystemCapability.Telephony.CoreService
3480
3481|      Name      |           Type             | Mandatory|      Description         |
3482| --------------- | --------------------------- | ---- | ------------------ |
3483| psRadioTech     | [RadioTechnology](#radiotechnology) | Yes  | PS.|
3484| csRadioTech     | [RadioTechnology](#radiotechnology) | Yes  | CS.|
3485
3486## RadioTechnology
3487
3488Enumerates radio access technologies.
3489
3490**System capability**: SystemCapability.Telephony.CoreService
3491
3492| Name                     | Value  | Description                                                        |
3493| ------------------------- | ---- | ------------------------------------------------------------ |
3494| RADIO_TECHNOLOGY_UNKNOWN  | 0    | Unknown RAT                                   |
3495| RADIO_TECHNOLOGY_GSM      | 1    | Global System for Mobile Communication (GSM) |
3496| RADIO_TECHNOLOGY_1XRTT    | 2    | Single-Carrier Radio Transmission Technology (1XRTT)|
3497| RADIO_TECHNOLOGY_WCDMA    | 3    | Wideband Code Division Multiple Access (WCDMA)|
3498| RADIO_TECHNOLOGY_HSPA     | 4    | High Speed Packet Access (HSPA)              |
3499| RADIO_TECHNOLOGY_HSPAP    | 5    | Evolved High Speed Packet Access (HSPA+)    |
3500| RADIO_TECHNOLOGY_TD_SCDMA | 6    | TD-SCDMA.|
3501| RADIO_TECHNOLOGY_EVDO     | 7    | Evolution-Data Optimized (EVDO)                  |
3502| RADIO_TECHNOLOGY_EHRPD    | 8    | Evolved High Rate Package Data (EHRPD)       |
3503| RADIO_TECHNOLOGY_LTE      | 9    | Long Term Evolution (LTE)                    |
3504| RADIO_TECHNOLOGY_LTE_CA   | 10   | Long Term Evolution_Carrier Aggregation (LTE_CA)|
3505| RADIO_TECHNOLOGY_IWLAN    | 11   | Industrial Wireless LAN (IWLAN)              |
3506| RADIO_TECHNOLOGY_NR       | 12   | New Radio (NR)                               |
3507
3508
3509## SignalInformation
3510
3511Defines the signal strength.
3512
3513**System capability**: SystemCapability.Telephony.CoreService
3514
3515|      Name      |           Type             | Mandatory|      Description         |
3516| --------------- | --------------------------- | ---- | ------------------ |
3517| signalType      | [NetworkType](#networktype) | Yes  | Signal strength type.|
3518| signalLevel     | number                      | Yes  | Signal strength level.|
3519| dBm<sup>9+</sup>| number                      | Yes  | Signal strength, in dBm.    |
3520
3521## NetworkType
3522
3523Enumerates network types.
3524
3525**System capability**: SystemCapability.Telephony.CoreService
3526
3527| Name                | Value  | Description                                                        |
3528| -------------------- | ---- | ------------------------------------------------------------ |
3529| NETWORK_TYPE_UNKNOWN | 0    | Unknown network.                                              |
3530| NETWORK_TYPE_GSM     | 1    | GSM network.   |
3531| NETWORK_TYPE_CDMA    | 2    | CDMA network.           |
3532| NETWORK_TYPE_WCDMA   | 3    | WCDMA network. |
3533| NETWORK_TYPE_TDSCDMA | 4    | TD-SCDMA network.|
3534| NETWORK_TYPE_LTE     | 5    | LTE network.                      |
3535| NETWORK_TYPE_NR      | 6    | 5G NR network.                              |
3536
3537## NetworkState
3538
3539Defines the network status.
3540
3541**System capability**: SystemCapability.Telephony.CoreService
3542
3543|       Name          |                 Type               | Mandatory|                          Description                               |
3544| -------------------- | ----------------------------------- | ---- | ------------------------------------------------------------ |
3545| longOperatorName     | string                              |  Yes | Long carrier name of the registered network.                                    |
3546| shortOperatorName    | string                              |  Yes | Short carrier name of the registered network.                                    |
3547| plmnNumeric          | string                              |  Yes | PLMN code of the registered network.                                          |
3548| isRoaming            | boolean                             |  Yes | Whether the user is roaming.                                          |
3549| regState             | [RegState](#regstate)               |  Yes | Network registration status of the device.                                        |
3550| cfgTech<sup>8+</sup> | [RadioTechnology](#radiotechnology) |  Yes | RAT of the device.                                        |
3551| nsaState             | [NsaState](#nsastate)               |  Yes | NSA network registration status of the device.                                     |
3552| isCaActive           | boolean                             |  Yes | CA status.                                                  |
3553| isEmergency          | boolean                             |  Yes | Whether only emergency calls are allowed.                              |
3554
3555
3556## RegState
3557
3558Defines the network registration status.
3559
3560**System capability**: SystemCapability.Telephony.CoreService
3561
3562| Name                         | Value  | Description                      |
3563| ----------------------------- | ---- | -------------------------- |
3564| REG_STATE_NO_SERVICE          | 0    | The device cannot use any services, including data, SMS, and call services.    |
3565| REG_STATE_IN_SERVICE          | 1    | The device can use services properly, including data, SMS, and call services.    |
3566| REG_STATE_EMERGENCY_CALL_ONLY | 2    | The device can use only the emergency call service.|
3567| REG_STATE_POWER_OFF           | 3    | The device cannot communicate with the network because the cellular radio service is disabled or the modem is powered off.     |
3568
3569
3570## NsaState
3571
3572Enumerates NSA network states.
3573
3574**System capability**: SystemCapability.Telephony.CoreService
3575
3576| Name                      | Value  | Description                                                      |
3577| -------------------------- | ---- | ---------------------------------------------------------- |
3578| NSA_STATE_NOT_SUPPORT      | 1    | The device is in idle or connected state in an LTE cell that does not support NSA.        |
3579| NSA_STATE_NO_DETECT        | 2    | The device is in the idle state in an LTE cell that supports NSA but not NR coverage detection.|
3580| NSA_STATE_CONNECTED_DETECT | 3    | The device is connected to the LTE network in an LTE cell that supports NSA and NR coverage detection.         |
3581| NSA_STATE_IDLE_DETECT      | 4    | The device is in the idle state in an LTE cell that supports NSA and NR coverage detection.          |
3582| NSA_STATE_DUAL_CONNECTED   | 5    | The device is connected to the LTE/NR network in an LTE cell that supports NSA.              |
3583| NSA_STATE_SA_ATTACHED      | 6    | The device is idle or connected to the NG-RAN cell when being attached to the 5G Core.     |
3584
3585
3586## NetworkSelectionMode
3587
3588Enumerates network selection modes.
3589
3590**System capability**: SystemCapability.Telephony.CoreService
3591
3592| Name                       | Value  | Description          |
3593| --------------------------- | ---- | -------------- |
3594| NETWORK_SELECTION_UNKNOWN   | 0    | Unknown network selection mode.|
3595| NETWORK_SELECTION_AUTOMATIC | 1    | Automatic network selection mode.|
3596| NETWORK_SELECTION_MANUAL    | 2    | Manual network selection mode.|
3597
3598## PreferredNetworkMode<sup>8+</sup>
3599
3600Enumerates preferred network modes.
3601
3602**System API**: This is a system API.
3603
3604**System capability**: SystemCapability.Telephony.CoreService
3605
3606| Name                                                     | Value  | Description                                         |
3607| --------------------------------------------------------- | ---- | --------------------------------------------- |
3608| PREFERRED_NETWORK_MODE_GSM                                | 1    | GSM network mode.                            |
3609| PREFERRED_NETWORK_MODE_WCDMA                              | 2    | WCDMA network mode.                          |
3610| PREFERRED_NETWORK_MODE_LTE                                | 3    | LTE network mode.                            |
3611| PREFERRED_NETWORK_MODE_LTE_WCDMA                          | 4    | LTE+WCDMA network mode.                      |
3612| PREFERRED_NETWORK_MODE_LTE_WCDMA_GSM                      | 5    | LTE+WCDMA+GSM network mode.                  |
3613| PREFERRED_NETWORK_MODE_WCDMA_GSM                          | 6    | WCDMA+GSM network mode.                      |
3614| PREFERRED_NETWORK_MODE_CDMA                               | 7    | CDMA network mode.                           |
3615| PREFERRED_NETWORK_MODE_EVDO                               | 8    | EVDO network mode.                           |
3616| PREFERRED_NETWORK_MODE_EVDO_CDMA                          | 9    | EVDO+CDMA network mode.                      |
3617| PREFERRED_NETWORK_MODE_WCDMA_GSM_EVDO_CDMA                | 10   | WCDMA+GSM+EVDO+CDMA network mode.            |
3618| PREFERRED_NETWORK_MODE_LTE_EVDO_CDMA                      | 11   | LTE+EVDO+CDMA network mode.                  |
3619| PREFERRED_NETWORK_MODE_LTE_WCDMA_GSM_EVDO_CDMA            | 12   | LTE+WCDMA+GSM+EVDO+CDMA network mode.        |
3620| PREFERRED_NETWORK_MODE_TDSCDMA                            | 13   | TD-SCDMA network mode.                        |
3621| PREFERRED_NETWORK_MODE_TDSCDMA_GSM                        | 14   | TD-SCDMA+GSM network mode.                    |
3622| PREFERRED_NETWORK_MODE_TDSCDMA_WCDMA                      | 15   | TD-SCDMA+WCDMA network mode.                  |
3623| PREFERRED_NETWORK_MODE_TDSCDMA_WCDMA_GSM                  | 16   | TD-SCDMA+WCDMA+GSM network mode.              |
3624| PREFERRED_NETWORK_MODE_LTE_TDSCDMA                        | 17   | LTE+TD-SCDMA network mode.                    |
3625| PREFERRED_NETWORK_MODE_LTE_TDSCDMA_GSM                    | 18   | LTE+TD-SCDMA+GSM network mode.                |
3626| PREFERRED_NETWORK_MODE_LTE_TDSCDMA_WCDMA                  | 19   | LTE+TD-SCDMA+WCDMA network mode.              |
3627| PREFERRED_NETWORK_MODE_LTE_TDSCDMA_WCDMA_GSM              | 20   | LTE+TD-SCDMA+WCDMA+GSM network mode.          |
3628| PREFERRED_NETWORK_MODE_TDSCDMA_WCDMA_GSM_EVDO_CDMA        | 21   | TD-SCDMA+WCDMA+GSM+EVDO+CDMA network mode.    |
3629| PREFERRED_NETWORK_MODE_LTE_TDSCDMA_WCDMA_GSM_EVDO_CDMA    | 22   | LTE+TD-SCDMA+WCDMA+GSM+EVDO+CDMA network mode.|
3630| PREFERRED_NETWORK_MODE_NR                                 | 31   | NR network mode.                             |
3631| PREFERRED_NETWORK_MODE_NR_LTE                             | 32   | NR+LTE network mode.                         |
3632| PREFERRED_NETWORK_MODE_NR_LTE_WCDMA                       | 33   | NR+LTE+WCDMA network mode.                   |
3633| PREFERRED_NETWORK_MODE_NR_LTE_WCDMA_GSM                   | 34   | NR+LTE+WCDMA+GSM network mode.               |
3634| PREFERRED_NETWORK_MODE_NR_LTE_EVDO_CDMA                   | 35   | NR+LTE+EVDO+CDMA network mode.               |
3635| PREFERRED_NETWORK_MODE_NR_LTE_WCDMA_GSM_EVDO_CDMA         | 36   | NR+LTE+WCDMA+GSM+EVDO+CDMA network mode.     |
3636| PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA                     | 37   | NR+LTE+TD-SCDMA network mode.                 |
3637| PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA_GSM                 | 38   | NR+LTE+TD-SCDMA+GSM network mode.             |
3638| PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA               | 39   | NR+LTE+TD-SCDMA+WCDMA network mode.           |
3639| PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA_GSM           | 40   | NR+LTE+TD-SCDMA+WCDMA+GSM network mode.       |
3640| PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA_GSM_EVDO_CDMA | 41   | NR+LTE+TD-SCDMA+WCDMA+GSM+EVDO+CDMA network mode.       |
3641| PREFERRED_NETWORK_MODE_MAX_VALUE                          | 99   | Maximum value of the preferred network mode.                         |
3642
3643## CellInformation<sup>8+</sup>
3644
3645Defines the cell information.
3646
3647**System capability**: SystemCapability.Telephony.CoreService
3648
3649| Name             |                  Type                  | Mandatory|                           Description                              |
3650| ----------------- | --------------------------------------- | ---- | ------------------------------------------------------------ |
3651| networkType       | [NetworkType](#networktype)             |  Yes | Network type of the cell.                                    |
3652| isCamped          | boolean                                 |  Yes | Cell status.<br>**System API**: This is a system API.         |
3653| timeStamp         | number                                  |  Yes | Timestamp when cell information is obtained.<br>**System API**: This is a system API.   |
3654| signalInformation | [SignalInformation](#signalinformation) |  Yes | Signal information.                                                  |
3655| data              | [CdmaCellInformation](#cdmacellinformation8) \| [GsmCellInformation](#gsmcellinformation8) \| [LteCellInformation](#ltecellinformation8) \| [NrCellInformation](#nrcellinformation8) \| [TdscdmaCellInformation](#tdscdmacellinformation8)\|[WcdmaCellInformation](#wcdmacellinformation8) |  Yes | CDMA cell information\|GSM cell information\|LTE cell information\|NR cell information\|TD-SCDMA cell information\|WCDMA.<br>**System API**: This is a system API.|
3656
3657## CdmaCellInformation<sup>8+</sup>
3658
3659Defines the CDMA cell information.
3660
3661**System API**: This is a system API.
3662
3663**System capability**: SystemCapability.Telephony.CoreService
3664
3665| Name     | Type  | Mandatory| Description        |
3666| --------- | ------ | ---- | ------------ |
3667| baseId    | number |  Yes | Base station ID.    |
3668| latitude  | number |  Yes | Latitude.      |
3669| longitude | number |  Yes | Longitude.      |
3670| nid       | number |  Yes | Network ID.|
3671| sid       | number |  Yes | System ID.|
3672
3673## GsmCellInformation<sup>8+</sup>
3674
3675Defines the GSM cell information.
3676
3677**System API**: This is a system API.
3678
3679**System capability**: SystemCapability.Telephony.CoreService
3680
3681| Name  | Type  | Mandatory| Description                |
3682| ------ | ------ | ---- | -------------------- |
3683| lac    | number |  Yes | Location area code.        |
3684| cellId | number |  Yes | Cell ID.            |
3685| arfcn  | number |  Yes | Absolute radio frequency channel number.|
3686| bsic   | number |  Yes | Base station ID.        |
3687| mcc    | string |  Yes | Mobile country code.        |
3688| mnc    | string |  Yes | Mobile network code.          |
3689
3690## LteCellInformation<sup>8+</sup>
3691
3692LTE cell information.
3693
3694**System API**: This is a system API.
3695
3696**System capability**: SystemCapability.Telephony.CoreService
3697
3698| Name         | Type   | Mandatory| Description                   |
3699| ------------- | ------- | ---- | ----------------------- |
3700| cgi           | number  |  Yes | Cell global identification.         |
3701| pci           | number  |  Yes | Physical cell ID.         |
3702| tac           | number  |  Yes | Tracking area code.         |
3703| earfcn        | number  |  Yes | Absolute radio frequency channel number.   |
3704| bandwidth     | number  |  Yes | Bandwidth.                 |
3705| mcc           | string  |  Yes | Mobile country code.           |
3706| mnc           | string  |  Yes | Mobile network code.             |
3707| isSupportEndc | boolean |  Yes | Support for New Radio Dual Connectivity (NR-DC).|
3708
3709## NrCellInformation<sup>8+</sup>
3710
3711Defines the 5G NR cell information.
3712
3713**System API**: This is a system API.
3714
3715**System capability**: SystemCapability.Telephony.CoreService
3716
3717| Name   | Type  | Mandatory| Description            |
3718| ------- | ------ | ---- | ---------------- |
3719| nrArfcn | number |  Yes | 5G frequency number.      |
3720| pci     | number |  Yes | Physical cell ID.  |
3721| tac     | number |  Yes | Tracking area code.  |
3722| nci     | number |  Yes | 5G network cell ID.|
3723| mcc     | string |  Yes | Mobile country code.    |
3724| mnc     | string |  Yes | Mobile network code.      |
3725
3726## TdscdmaCellInformation<sup>8+</sup>
3727
3728Defines the TD-SCDMA cell information.
3729
3730**System API**: This is a system API.
3731
3732**System capability**: SystemCapability.Telephony.CoreService
3733
3734| Name  | Type  | Mandatory| Description        |
3735| ------ | ------ | ---- | ------------ |
3736| lac    | number |  Yes | Location area code.|
3737| cellId | number |  Yes | Cell ID.    |
3738| cpid   | number |  Yes | Cell parameter ID.|
3739| uarfcn | number |  Yes | Absolute radio frequency number.|
3740| mcc    | string |  Yes | Mobile country code.|
3741| mnc    | string |  Yes | Mobile network code.  |
3742
3743## WcdmaCellInformation<sup>8+</sup>
3744
3745Defines the WCDMA cell information.
3746
3747**System API**: This is a system API.
3748
3749**System capability**: SystemCapability.Telephony.CoreService
3750
3751| Name  | Type  | Mandatory| Description        |
3752| ------ | ------ | ---- | ------------ |
3753| lac    | number |  Yes | Location area code.|
3754| cellId | number |  Yes | Cell ID.    |
3755| psc    | number |  Yes | Primary scrambling code.    |
3756| uarfcn | number |  Yes | Absolute radio frequency number.|
3757| mcc    | string |  Yes | Mobile country code.|
3758| mnc    | string |  Yes | Mobile network code.  |
3759
3760## NrOptionMode<sup>(deprecated)</sup>
3761
3762Enumerates NR selection modes.
3763
3764> **NOTE**
3765>
3766> This API is supported since API version 8 and deprecated since API version 10. You are advised to use [NROptionMode](#nroptionmode10).
3767
3768**System API**: This is a system API.
3769
3770**System capability**: SystemCapability.Telephony.CoreService
3771
3772| Name                | Value  | Description                              |
3773| -------------------- | ---- | ---------------------------------- |
3774| NR_OPTION_UNKNOWN    | 0    | Unknown NR selection mode.                |
3775| NR_OPTION_NSA_ONLY   | 1    | NR selection mode in 5G non-standalone networking.        |
3776| NR_OPTION_SA_ONLY    | 2    | NR selection mode in 5G non-standalone networking.          |
3777| NR_OPTION_NSA_AND_SA | 3    | NR selection mode in non-standalone and standalone networking.|
3778
3779## NROptionMode<sup>10+</sup>
3780
3781Enumerates NR selection modes.
3782
3783**System API**: This is a system API.
3784
3785**System capability**: SystemCapability.Telephony.CoreService
3786
3787| Name                | Value  | Description                             |
3788| -------------------- | ---- | --------------------------------- |
3789| NR_OPTION_UNKNOWN    | 0    | Unknown NR selection mode.                |
3790| NR_OPTION_NSA_ONLY   | 1    | NR selection mode in 5G non-standalone networking.        |
3791| NR_OPTION_SA_ONLY    | 2    | NR selection mode in 5G non-standalone networking.          |
3792| NR_OPTION_NSA_AND_SA | 3    | NR selection mode in non-standalone and standalone networking. |
3793
3794## NetworkSearchResult
3795
3796Defines the network search result.
3797
3798**System API**: This is a system API.
3799
3800**System capability**: SystemCapability.Telephony.CoreService
3801
3802| Name                  | Type                                             | Mandatory| Description          |
3803| ---------------------- | ------------------------------------------------- | ---- | -------------- |
3804| isNetworkSearchSuccess | boolean                                           |  Yes | Successful network search.|
3805| networkSearchResult    | Array<[NetworkInformation](#networkinformation)\> |  Yes | Network search result.|
3806
3807## NetworkInformation
3808
3809Defines the network information.
3810
3811**System API**: This is a system API.
3812
3813**System capability**: SystemCapability.Telephony.CoreService
3814
3815| Name           |                         Type                       | Mandatory| Description          |
3816| --------------- | --------------------------------------------------- | ---- | -------------- |
3817| operatorName    | string                                              |  Yes | Carrier name.|
3818| operatorNumeric | string                                              |  Yes | Carrier number.  |
3819| state           | [NetworkInformationState](#networkinformationstate) |  Yes | Network information status.|
3820| radioTech       | string                                              |  Yes | Radio access technology.  |
3821
3822## NetworkInformationState
3823
3824Enumerates network information states.
3825
3826**System API**: This is a system API.
3827
3828**System capability**: SystemCapability.Telephony.CoreService
3829
3830| Name             | Value  | Description            |
3831| ----------------- | ---- | ---------------- |
3832| NETWORK_UNKNOWN   | 0    | Unknown state.  |
3833| NETWORK_AVAILABLE | 1    | Available for registration.|
3834| NETWORK_CURRENT   | 2    | Registered state.|
3835| NETWORK_FORBIDDEN | 3    | Unavailable for registration.  |
3836
3837## NetworkSelectionModeOptions
3838
3839Defines the network selection mode.
3840
3841**System API**: This is a system API.
3842
3843**System capability**: SystemCapability.Telephony.CoreService
3844
3845| Name              |                    Type                      | Mandatory|                 Description                  |
3846| ------------------ | --------------------------------------------- | ---- | -------------------------------------- |
3847| slotId             | number                                        |  Yes | Card slot ID.<br>- **0**: card slot 1<br>- **1**: card slot 2|
3848| selectMode         | [NetworkSelectionMode](#networkselectionmode) |  Yes | Network selection mode.                        |
3849| networkInformation | [NetworkInformation](#networkinformation)     |  Yes | Network information.                            |
3850| resumeSelection    | boolean                                       |  Yes | Whether to resume selection.                            |
3851
3852## ImsRegState<sup>9+</sup>
3853
3854Enumerates IMS registration states.
3855
3856**System API**: This is a system API.
3857
3858**System capability**: SystemCapability.Telephony.CoreService
3859
3860| Name            | Value  | Description    |
3861| ---------------- | ---- | -------- |
3862| IMS_UNREGISTERED | 0    | Not registered.|
3863| IMS_REGISTERED   | 1    | Registered.|
3864
3865## ImsRegTech<sup>9+</sup>
3866
3867Enumerates IMS registration technologies.
3868
3869**System API**: This is a system API.
3870
3871**System capability**: SystemCapability.Telephony.CoreService
3872
3873| Name                   | Value  | Description           |
3874| ----------------------- | ---- | --------------- |
3875| REGISTRATION_TECH_NONE  | 0    | None.   |
3876| REGISTRATION_TECH_LTE   | 1    | LTE.  |
3877| REGISTRATION_TECH_IWLAN | 2    | I-WLAN.|
3878| REGISTRATION_TECH_NR    | 3    | NR.   |
3879
3880## ImsRegInfo<sup>9+</sup>
3881
3882Defines the IMS registration information.
3883
3884**System API**: This is a system API.
3885
3886**System capability**: SystemCapability.Telephony.CoreService
3887
3888| Name       | Type                        | Mandatory| Description         |
3889| ----------- | ---------------------------- | ---- | ------------- |
3890| imsRegState | [ImsRegState](#imsregstate9) |  Yes | IMS registration state.|
3891| imsRegTech  | [ImsRegTech](#imsregtech9)   |  Yes | IMS registration technology.|
3892
3893## ImsServiceType<sup>9+</sup>
3894
3895Enumerates IMS service types.
3896
3897**System API**: This is a system API.
3898
3899**System capability**: SystemCapability.Telephony.CoreService
3900
3901| Name      | Value  | Description      |
3902| ---------- | ---- | ---------- |
3903| TYPE_VOICE | 0    | Voice service.|
3904| TYPE_VIDEO | 1    | Video service.|
3905| TYPE_UT    | 2    | UT service.  |
3906| TYPE_SMS   | 3    | SMS service.|
3907
3908## NetworkCapabilityType<sup>10+</sup>
3909
3910Enumerates network capability types.
3911
3912**System API**: This is a system API.
3913
3914**System capability**: SystemCapability.Telephony.CoreService
3915
3916| Name            | Value  | Description      |
3917| -----------------| ---- | ---------- |
3918| SERVICE_TYPE_LTE | 0    | LTE service.|
3919| SERVICE_TYPE_NR  | 1    | NR service.|
3920
3921## NetworkCapabilityState<sup>10+</sup>
3922
3923Defines the network capability switch status.
3924
3925**System API**: This is a system API.
3926
3927**System capability**: SystemCapability.Telephony.CoreService
3928
3929| Name                  | Value  | Description      |
3930| -----------------------| ---- | ---------- |
3931| SERVICE_CAPABILITY_OFF | 0    | The network capability is disabled.|
3932| SERVICE_CAPABILITY_ON  | 1    | The network capability is enabled.|
3933