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