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