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