1# @ohos.telephony.data (蜂窝数据) 2 3蜂窝数据提供了移动数据管理能力,包括获取、设置默认移动数据的SIM卡,获取蜂窝数据业务的上下行和分组交换域(PS域)的连接状态,以及检查蜂窝数据业务和漫游是否启用等。 4 5>**说明:** 6> 7>本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```ts 12import data from '@ohos.telephony.data'; 13``` 14 15## data.getDefaultCellularDataSlotId 16 17getDefaultCellularDataSlotId(callback: AsyncCallback\<number\>): void 18 19获取默认移动数据的SIM卡,使用callback方式作为异步方法。 20 21**系统能力**:SystemCapability.Telephony.CellularData 22 23**参数:** 24 25| 参数名 | 类型 | 必填 | 说明 | 26| -------- | ----------------------- | ---- | ------------------------------------------ | 27| callback | AsyncCallback\<number\> | 是 | 以callback形式异步返回结果。<br />0:卡槽1。<br />1:卡槽2。 | 28 29**示例:** 30 31```ts 32import data from '@ohos.telephony.data'; 33import { BusinessError } from '@ohos.base'; 34 35data.getDefaultCellularDataSlotId((err: BusinessError, data: number) => { 36 if(err){ 37 console.error(`getDefaultCellularDataSlotId fail,callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 38 }else{ 39 console.log(`getDefaultCellularDataSlotId success`); 40 } 41}); 42``` 43 44## data.getDefaultCellularDataSlotId 45 46getDefaultCellularDataSlotId(): Promise\<number\> 47 48获取默认移动数据的SIM卡,使用Promise方式作为异步方法。 49 50**系统能力**:SystemCapability.Telephony.CellularData 51 52**返回值:** 53 54| 类型 | 说明 | 55| ----------------- | ------------------------------------------------------------ | 56| Promise\<number\> | 以Promise形式返回获取默认移动数据的SIM卡。<br />0:卡槽1。<br />1:卡槽2。 | 57 58**示例:** 59 60```ts 61import data from '@ohos.telephony.data'; 62import { BusinessError } from '@ohos.base'; 63 64data.getDefaultCellularDataSlotId().then((data: number) => { 65 console.log(`getDefaultCellularDataSlotId success, promise: data->${JSON.stringify(data)}`); 66}).catch((err: BusinessError) => { 67 console.error(`getDefaultCellularDataSlotId fail, promise: err->${JSON.stringify(err)}`); 68}); 69``` 70 71## data.getDefaultCellularDataSlotIdSync<sup>9+</sup> 72 73getDefaultCellularDataSlotIdSync(): number 74 75获取默认移动数据的SIM卡 76 77**系统能力**:SystemCapability.Telephony.CellularData 78 79**返回值:** 80 81| 类型 | 说明 | 82| ------ | -------------------------------------------------- | 83| number | 获取默认移动数据的SIM卡。<br />0:卡槽1。<br />1:卡槽2。 | 84 85**示例:** 86 87```ts 88import data from '@ohos.telephony.data'; 89 90console.log("Result: "+ data.getDefaultCellularDataSlotIdSync()) 91``` 92 93## data.setDefaultCellularDataSlotId 94 95setDefaultCellularDataSlotId(slotId: number, callback: AsyncCallback\<void\>): void 96 97设置默认移动数据的SIM卡,使用callback方式作为异步方法。 98 99**系统接口:** 此接口为系统接口。 100 101**需要权限**:ohos.permission.SET_TELEPHONY_STATE 102 103**系统能力**:SystemCapability.Telephony.CellularData 104 105**参数:** 106 107| 参数名 | 类型 | 必填 | 说明 | 108| -------- | --------------------- | ---- | ------------------------------------------------------------ | 109| slotId | number | 是 | SIM卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。<br/>- -1:清除默认配置。 | 110| callback | AsyncCallback\<void\> | 是 | 以callback形式异步返回结果。 | 111 112**错误码:** 113 114以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 115 116| 错误码ID | 错误信息 | 117| -------- | -------------------------------------------- | 118| 201 | Permission denied. | 119| 202 | Non-system applications use system APIs. | 120| 401 | Parameter error. | 121| 8300001 | Invalid parameter value. | 122| 8300002 | Operation failed. Cannot connect to service. | 123| 8300003 | System internal error. | 124| 8300004 | Do not have sim card. | 125| 8300999 | Unknown error code. | 126| 8301001 | SIM card is not activated. | 127 128**示例:** 129 130```ts 131import data from '@ohos.telephony.data'; 132import { BusinessError } from '@ohos.base'; 133 134data.setDefaultCellularDataSlotId(0, (err: BusinessError) => { 135 if(err){ 136 console.error(`setDefaultCellularDataSlotId fail,callback: err->${JSON.stringify(err)}.`); 137 }else{ 138 console.log(`setDefaultCellularDataSlotId success`); 139 } 140}); 141``` 142 143## data.setDefaultCellularDataSlotId 144 145setDefaultCellularDataSlotId(slotId: number): Promise\<void\> 146 147设置默认移动数据的SIM卡,使用Promise方式作为异步方法。 148 149**系统接口:** 此接口为系统接口。 150 151**需要权限**:ohos.permission.SET_TELEPHONY_STATE 152 153**系统能力**:SystemCapability.Telephony.CellularData 154 155**参数:** 156 157| 参数名 | 类型 | 必填 | 说明 | 158| ------ | ------ | ---- | ------------------------------------------------------------ | 159| slotId | number | 是 | SIM卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。<br/>- -1:清除默认配置。 | 160 161**返回值:** 162 163| 类型 | 说明 | 164| --------------- | ------------------------------- | 165| Promise\<void\> | 以Promise形式异步返回设置结果。 | 166 167**错误码:** 168 169以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 170 171| 错误码ID | 错误信息 | 172| -------- | -------------------------------------------- | 173| 201 | Permission denied. | 174| 202 | Non-system applications use system APIs. | 175| 401 | Parameter error. | 176| 8300001 | Invalid parameter value. | 177| 8300002 | Operation failed. Cannot connect to service. | 178| 8300003 | System internal error. | 179| 8300004 | Do not have sim card. | 180| 8300999 | Unknown error code. | 181| 8301001 | SIM card is not activated. | 182 183**示例:** 184 185```ts 186import data from '@ohos.telephony.data'; 187import { BusinessError } from '@ohos.base'; 188 189data.setDefaultCellularDataSlotId(0).then(() => { 190 console.log(`setDefaultCellularDataSlotId success.`); 191}).catch((err: BusinessError) => { 192 console.error(`setDefaultCellularDataSlotId fail, promise: err->${JSON.stringify(err)}`); 193}); 194``` 195 196## data.getCellularDataFlowType 197 198getCellularDataFlowType(callback: AsyncCallback\<DataFlowType\>): void 199 200获取蜂窝数据业务的上下行状态,使用callback方式作为异步方法。 201 202**系统能力**:SystemCapability.Telephony.CellularData 203 204**参数:** 205 206| 参数名 | 类型 | 必填 | 说明 | 207| -------- | ---------------------------------------------- | ---- | ---------- | 208| callback | AsyncCallback\<[DataFlowType](#dataflowtype)\> | 是 | 以callback形式异步返回结果。 | 209 210**示例:** 211 212```ts 213import data from '@ohos.telephony.data'; 214import { BusinessError } from '@ohos.base'; 215 216data.getCellularDataFlowType((err: BusinessError, data: data.DataFlowType) => { 217 if(err){ 218 console.error(`getCellularDataFlowType fail,callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 219 }else{ 220 console.log(`getCellularDataFlowType success`); 221 } 222}); 223``` 224 225## data.getCellularDataFlowType 226 227getCellularDataFlowType(): Promise\<DataFlowType\> 228 229获取蜂窝数据业务的上下行状态,使用Promise方式作为异步方法。 230 231**系统能力**:SystemCapability.Telephony.CellularData 232 233**返回值:** 234 235| 类型 | 说明 | 236| ---------------------------------------- | ----------------------------------------------- | 237| Promise\<[DataFlowType](#dataflowtype)\> | 以Promise形式返回获取蜂窝数据业务的上下行状态。 | 238 239**示例:** 240 241```ts 242import data from '@ohos.telephony.data'; 243import { BusinessError } from '@ohos.base'; 244 245data.getCellularDataFlowType().then((data: data.DataFlowType) => { 246 console.log(`getCellularDataFlowType success, promise: data->${JSON.stringify(data)}`); 247}).catch((err: BusinessError) => { 248 console.error(`getCellularDataFlowType fail, promise: err->${JSON.stringify(err)}`); 249}); 250``` 251 252## data.getCellularDataState 253 254getCellularDataState(callback: AsyncCallback\<DataConnectState\>): void 255 256获取分组交换域(PS域)的连接状态,使用callback方式作为异步方法。 257 258**系统能力**:SystemCapability.Telephony.CellularData 259 260**参数:** 261 262| 参数名 | 类型 | 必填 | 说明 | 263| -------- | ------------------------------------------------------ | ---- | ---------- | 264| callback | AsyncCallback\<[DataConnectState](#dataconnectstate)\> | 是 | 以callback形式异步返回结果。 | 265 266**示例:** 267 268```ts 269import data from '@ohos.telephony.data'; 270import { BusinessError } from '@ohos.base'; 271 272data.getCellularDataState((err: BusinessError, data: data.DataConnectState) => { 273 if(err){ 274 console.error(`getCellularDataState fail,callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 275 }else{ 276 console.log(`getCellularDataState success`); 277 } 278}); 279``` 280 281## data.getCellularDataState 282 283getCellularDataState(): Promise\<DataConnectState\> 284 285获取分组交换域(PS域)的连接状态,使用Promise方式作为异步方法。 286 287**系统能力**:SystemCapability.Telephony.CellularData 288 289**返回值:** 290 291| 类型 | 说明 | 292| ------------------------------------------------ | ------------------------------------- | 293| Promise\<[DataConnectState](#dataconnectstate)\> | 以Promise形式返回获取PS域的连接状态。 | 294 295**示例:** 296 297```ts 298import data from '@ohos.telephony.data'; 299import { BusinessError } from '@ohos.base'; 300 301data.getCellularDataState().then((data: data.DataConnectState) => { 302 console.log(`getCellularDataState success, promise: data->${JSON.stringify(data)}`); 303}).catch((err: BusinessError) => { 304 console.error(`getCellularDataState fail, promise: err->${JSON.stringify(err)}`); 305}); 306``` 307 308## data.isCellularDataEnabled 309 310isCellularDataEnabled(callback: AsyncCallback\<boolean\>): void 311 312检查蜂窝数据业务是否启用,使用callback方式作为异步方法。 313 314**需要权限**:ohos.permission.GET_NETWORK_INFO 315 316**系统能力**:SystemCapability.Telephony.CellularData 317 318**参数:** 319 320| 参数名 | 类型 | 必填 | 说明 | 321| -------- | ------------------------ | ---- | ------------------------------------------------------------ | 322| callback | AsyncCallback\<boolean\> | 是 | 以callback形式异步返回结果。<br />true:蜂窝数据业务已启用。<br />false:蜂窝数据业务已禁用。 | 323 324**错误码:** 325 326以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 327 328| 错误码ID | 错误信息 | 329| -------- | -------------------------------------------- | 330| 201 | Permission denied. | 331| 401 | Parameter error. | 332| 8300001 | Invalid parameter value. | 333| 8300002 | Operation failed. Cannot connect to service. | 334| 8300003 | System internal error. | 335| 8300999 | Unknown error code. | 336 337**示例:** 338 339```ts 340import data from '@ohos.telephony.data'; 341import { BusinessError } from '@ohos.base'; 342 343data.isCellularDataEnabled((err: BusinessError, data: boolean) => { 344 if(err){ 345 console.error(`isCellularDataEnabled fail,callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 346 }else{ 347 console.log(`isCellularDataEnabled success`); 348 } 349}); 350``` 351 352## data.isCellularDataEnabled 353 354isCellularDataEnabled(): Promise\<boolean\> 355 356检查蜂窝数据业务是否启用,使用Promise方式作为异步方法。 357 358**需要权限**:ohos.permission.GET_NETWORK_INFO 359 360**系统能力**:SystemCapability.Telephony.CellularData 361 362**返回值:** 363 364| 类型 | 说明 | 365| ------------------ | ------------------------------------------------------------ | 366| Promise\<boolean\> | 以Promise形式返回检查蜂窝数据业务是否启用。<br />true:蜂窝数据业务已启用。<br />false:蜂窝数据业务已禁用。 | 367 368**错误码:** 369 370以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 371 372| 错误码ID | 错误信息 | 373| -------- | -------------------------------------------- | 374| 201 | Permission denied. | 375| 8300002 | Operation failed. Cannot connect to service. | 376| 8300003 | System internal error. | 377| 8300999 | Unknown error code. | 378 379**示例:** 380 381```ts 382import data from '@ohos.telephony.data'; 383import { BusinessError } from '@ohos.base'; 384 385data.isCellularDataEnabled().then((data: boolean) => { 386 console.log(`isCellularDataEnabled success, promise: data->${JSON.stringify(data)}`); 387}).catch((err: BusinessError) => { 388 console.error(`isCellularDataEnabled fail, promise: err->${JSON.stringify(err)}`); 389}); 390``` 391 392## data.isCellularDataRoamingEnabled 393 394isCellularDataRoamingEnabled(slotId: number, callback: AsyncCallback\<boolean\>): void 395 396检查蜂窝数据业务是否启用漫游,使用callback方式作为异步方法。 397 398**需要权限**:ohos.permission.GET_NETWORK_INFO 399 400**系统能力**:SystemCapability.Telephony.CellularData 401 402**参数:** 403 404| 参数名 | 类型 | 必填 | 说明 | 405| -------- | ------------------------ | ---- | ------------------------------------------------------------ | 406| slotId | number | 是 | 卡槽ID。<br />0:卡槽1。<br />1:卡槽2。 | 407| callback | AsyncCallback\<boolean\> | 是 | 以callback形式异步返回结果。<br />true:蜂窝数据业务已启用漫游。<br />false:蜂窝数据业务已禁用漫游。 | 408 409**错误码:** 410 411以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 412 413| 错误码ID | 错误信息 | 414| -------- | -------------------------------------------- | 415| 201 | Permission denied. | 416| 401 | Parameter error. | 417| 8300001 | Invalid parameter value. | 418| 8300002 | Operation failed. Cannot connect to service. | 419| 8300003 | System internal error. | 420| 8300999 | Unknown error code. | 421 422**示例:** 423 424```ts 425import data from '@ohos.telephony.data'; 426import { BusinessError } from '@ohos.base'; 427 428data.isCellularDataRoamingEnabled(0, (err: BusinessError, data: boolean) => { 429 if(err){ 430 console.error(`isCellularDataRoamingEnabled fail,callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 431 }else{ 432 console.log(`isCellularDataRoamingEnabled success`); 433 } 434}); 435``` 436 437## data.isCellularDataRoamingEnabled 438 439isCellularDataRoamingEnabled(slotId: number): Promise\<boolean\> 440 441检查蜂窝数据业务是否启用漫游,使用Promise方式作为异步方法。 442 443**需要权限**:ohos.permission.GET_NETWORK_INFO 444 445**系统能力**:SystemCapability.Telephony.CellularData 446 447**参数:** 448 449| 参数名 | 类型 | 必填 | 说明 | 450| ------ | ------ | ---- | ---------------------------------------- | 451| slotId | number | 是 | 卡槽ID。<br />0:卡槽1。<br />1:卡槽2。 | 452 453**返回值:** 454 455| 类型 | 说明 | 456| ------------------ | ------------------------------------------------------------ | 457| Promise\<boolean\> | 以Promise形式返回检查蜂窝数据业务是否启用漫游。<br />true:蜂窝数据业务已启用漫游。<br />false:蜂窝数据业务已禁用漫游。 | 458 459**错误码:** 460 461以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 462 463| 错误码ID | 错误信息 | 464| -------- | -------------------------------------------- | 465| 201 | Permission denied. | 466| 401 | Parameter error. | 467| 8300001 | Invalid parameter value. | 468| 8300002 | Operation failed. Cannot connect to service. | 469| 8300003 | System internal error. | 470| 8300999 | Unknown error code. | 471 472**示例:** 473 474```ts 475import data from '@ohos.telephony.data'; 476import { BusinessError } from '@ohos.base'; 477 478data.isCellularDataRoamingEnabled(0).then((data: boolean) => { 479 console.log(`isCellularDataRoamingEnabled success, promise: data->${JSON.stringify(data)}`); 480}).catch((err: BusinessError) => { 481 console.error(`isCellularDataRoamingEnabled fail, promise: err->${JSON.stringify(err)}`); 482}); 483``` 484 485## data.enableCellularData 486 487enableCellularData(callback: AsyncCallback\<void\>): void 488 489启用蜂窝数据服务,使用callback方式作为异步方法。 490 491**系统接口:** 此接口为系统接口。 492 493**需要权限**:ohos.permission.SET_TELEPHONY_STATE 494 495**系统能力**:SystemCapability.Telephony.CellularData 496 497**参数:** 498 499| 参数名 | 类型 | 必填 | 说明 | 500| -------- | --------------------- | ---- | ---------- | 501| callback | AsyncCallback\<void\> | 是 | 以callback形式异步返回结果。 | 502 503**错误码:** 504 505以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 506 507| 错误码ID | 错误信息 | 508| -------- | -------------------------------------------- | 509| 201 | Permission denied. | 510| 202 | Non-system applications use system APIs. | 511| 401 | Parameter error. | 512| 8300001 | Invalid parameter value. | 513| 8300002 | Operation failed. Cannot connect to service. | 514| 8300003 | System internal error. | 515| 8300999 | Unknown error code. | 516 517**示例:** 518 519```ts 520import data from '@ohos.telephony.data'; 521import { BusinessError } from '@ohos.base'; 522 523data.enableCellularData((err: BusinessError) => { 524 if(err){ 525 console.error(`enableCellularData fail,callback: err->${JSON.stringify(err)}`); 526 }else{ 527 console.log(`enableCellularData success`); 528 } 529}); 530``` 531 532## data.enableCellularData 533 534enableCellularData(): Promise\<void\> 535 536启用蜂窝数据服务,使用Promise方式作为异步方法。 537 538**系统接口:** 此接口为系统接口。 539 540**需要权限**:ohos.permission.SET_TELEPHONY_STATE 541 542**系统能力**:SystemCapability.Telephony.CellularData 543 544**返回值:** 545 546| 类型 | 说明 | 547| --------------- | ----------------------- | 548| Promise\<void\> | 以Promise形式返回结果。 | 549 550**错误码:** 551 552以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 553 554| 错误码ID | 错误信息 | 555| -------- | -------------------------------------------- | 556| 201 | Permission denied. | 557| 202 | Non-system applications use system APIs. | 558| 8300002 | Operation failed. Cannot connect to service. | 559| 8300003 | System internal error. | 560| 8300999 | Unknown error code. | 561 562**示例:** 563 564```ts 565import data from '@ohos.telephony.data'; 566import { BusinessError } from '@ohos.base'; 567 568data.enableCellularData().then(() => { 569 console.log(`enableCellularData success.`); 570}).catch((err: BusinessError) => { 571 console.error(`enableCellularData fail, promise: err->${JSON.stringify(err)}`); 572}); 573``` 574 575## data.disableCellularData 576 577disableCellularData(callback: AsyncCallback\<void\>): void 578 579禁用蜂窝数据服务,使用callback方式作为异步方法。 580 581**系统接口:** 此接口为系统接口。 582 583**需要权限**:ohos.permission.SET_TELEPHONY_STATE 584 585**系统能力**:SystemCapability.Telephony.CellularData 586 587**参数:** 588 589| 参数名 | 类型 | 必填 | 说明 | 590| -------- | --------------------- | ---- | ---------- | 591| callback | AsyncCallback\<void\> | 是 | 以callback形式异步返回结果。 | 592 593**错误码:** 594 595以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 596 597| 错误码ID | 错误信息 | 598| -------- | -------------------------------------------- | 599| 201 | Permission denied. | 600| 202 | Non-system applications use system APIs. | 601| 401 | Parameter error. | 602| 8300001 | Invalid parameter value. | 603| 8300002 | Operation failed. Cannot connect to service. | 604| 8300003 | System internal error. | 605| 8300999 | Unknown error code. | 606 607**示例:** 608 609```ts 610import data from '@ohos.telephony.data'; 611import { BusinessError } from '@ohos.base'; 612 613data.disableCellularData((err: BusinessError) => { 614 if(err){ 615 console.error(`disableCellularData fail,callback: err->${JSON.stringify(err)}`); 616 }else{ 617 console.log(`disableCellularData success`); 618 } 619}); 620``` 621 622## data.disableCellularData 623 624disableCellularData(): Promise\<void\> 625 626禁用蜂窝数据服务,使用Promise方式作为异步方法。 627 628**系统接口:** 此接口为系统接口。 629 630**需要权限**:ohos.permission.SET_TELEPHONY_STATE 631 632**系统能力**:SystemCapability.Telephony.CellularData 633 634**返回值:** 635 636| 类型 | 说明 | 637| --------------- | --------------------------- | 638| Promise\<void\> | 以Promise形式返回禁用结果。 | 639 640**错误码:** 641 642以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 643 644| 错误码ID | 错误信息 | 645| -------- | -------------------------------------------- | 646| 201 | Permission denied. | 647| 202 | Non-system applications use system APIs. | 648| 8300002 | Operation failed. Cannot connect to service. | 649| 8300003 | System internal error. | 650| 8300999 | Unknown error code. | 651 652**示例:** 653 654```ts 655import data from '@ohos.telephony.data'; 656import { BusinessError } from '@ohos.base'; 657 658data.disableCellularData().then(() => { 659 console.log(`disableCellularData success.`); 660}).catch((err: BusinessError) => { 661 console.error(`disableCellularData fail, promise: err->${JSON.stringify(err)}`); 662}); 663``` 664 665## data.enableCellularDataRoaming 666 667enableCellularDataRoaming(slotId: number, callback: AsyncCallback\<void\>): void 668 669启用蜂窝数据漫游,使用callback方式作为异步方法。 670 671**系统接口:** 此接口为系统接口。 672 673**需要权限**:ohos.permission.SET_TELEPHONY_STATE 674 675**系统能力**:SystemCapability.Telephony.CellularData 676 677**参数:** 678 679| 参数名 | 类型 | 必填 | 说明 | 680| -------- | --------------------- | ---- | ---------------------------------------- | 681| slotId | number | 是 | 卡槽ID。<br />0:卡槽1。<br />1:卡槽2。 | 682| callback | AsyncCallback\<void\> | 是 | 以callback形式异步返回结果。 | 683 684**错误码:** 685 686以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 687 688| 错误码ID | 错误信息 | 689| -------- | -------------------------------------------- | 690| 201 | Permission denied. | 691| 202 | Non-system applications use system APIs. | 692| 401 | Parameter error. | 693| 8300001 | Invalid parameter value. | 694| 8300002 | Operation failed. Cannot connect to service. | 695| 8300003 | System internal error. | 696| 8300999 | Unknown error code. | 697 698**示例:** 699 700```ts 701import data from '@ohos.telephony.data'; 702import { BusinessError } from '@ohos.base'; 703 704data.enableCellularDataRoaming(0, (err: BusinessError) => { 705 if(err){ 706 console.error(`enableCellularDataRoaming fail,callback: err->${JSON.stringify(err)}`); 707 }else{ 708 console.log(`enableCellularDataRoaming success`); 709 } 710}); 711``` 712 713## data.enableCellularDataRoaming 714 715enableCellularDataRoaming(slotId: number): Promise\<void\> 716 717启用蜂窝数据漫游,使用Promise方式作为异步方法。 718 719**系统接口:** 此接口为系统接口。 720 721**需要权限**:ohos.permission.SET_TELEPHONY_STATE 722 723**系统能力**:SystemCapability.Telephony.CellularData 724 725**参数:** 726 727| 参数名 | 类型 | 必填 | 说明 | 728| ------ | ------ | ---- | ---------------------------------------- | 729| slotId | number | 是 | 卡槽ID。<br />0:卡槽1。<br />1:卡槽2。 | 730 731**返回值:** 732 733| 类型 | 说明 | 734| --------------- | ------------------------- | 735| Promise\<void\> | 以Promise形式返回启用结果 | 736 737**错误码:** 738 739以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 740 741| 错误码ID | 错误信息 | 742| -------- | -------------------------------------------- | 743| 201 | Permission denied. | 744| 202 | Non-system applications use system APIs. | 745| 401 | Parameter error. | 746| 8300001 | Invalid parameter value. | 747| 8300002 | Operation failed. Cannot connect to service. | 748| 8300003 | System internal error. | 749| 8300999 | Unknown error code. | 750 751**示例:** 752 753```ts 754import data from '@ohos.telephony.data'; 755import { BusinessError } from '@ohos.base'; 756 757data.enableCellularDataRoaming(0).then(() => { 758 console.log(`enableCellularDataRoaming success.`); 759}).catch((err: BusinessError) => { 760 console.error(`enableCellularDataRoaming fail, promise: err->${JSON.stringify(err)}`); 761}); 762``` 763 764## data.disableCellularDataRoaming 765 766disableCellularDataRoaming(slotId: number, callback: AsyncCallback\<void\>): void 767 768禁用蜂窝数据漫游,使用callback方式作为异步方法。 769 770**系统接口:** 此接口为系统接口。 771 772**需要权限**:ohos.permission.SET_TELEPHONY_STATE 773 774**系统能力**:SystemCapability.Telephony.CellularData 775 776**参数:** 777 778| 参数名 | 类型 | 必填 | 说明 | 779| -------- | --------------------- | ---- | ---------------------------------------- | 780| slotId | number | 是 | 卡槽ID。<br />0:卡槽1。<br />1:卡槽2。 | 781| callback | AsyncCallback\<void\> | 是 | 以callback形式异步返回结果。 | 782 783**错误码:** 784 785以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 786 787| 错误码ID | 错误信息 | 788| -------- | -------------------------------------------- | 789| 201 | Permission denied. | 790| 202 | Non-system applications use system APIs. | 791| 401 | Parameter error. | 792| 8300001 | Invalid parameter value. | 793| 8300002 | Operation failed. Cannot connect to service. | 794| 8300003 | System internal error. | 795| 8300999 | Unknown error code. | 796 797**示例:** 798 799```ts 800import data from '@ohos.telephony.data'; 801import { BusinessError } from '@ohos.base'; 802 803data.disableCellularDataRoaming(0, (err: BusinessError) => { 804 if(err){ 805 console.error(`disableCellularDataRoaming fail,callback: err->${JSON.stringify(err)}`); 806 }else{ 807 console.log(`disableCellularDataRoaming success`); 808 } 809}); 810``` 811 812## data.disableCellularDataRoaming 813 814disableCellularDataRoaming(slotId: number): Promise\<void\> 815 816禁用蜂窝数据漫游,使用Promise方式作为异步方法。 817 818**系统接口:** 此接口为系统接口。 819 820**需要权限**:ohos.permission.SET_TELEPHONY_STATE 821 822**系统能力**:SystemCapability.Telephony.CellularData 823 824**参数:** 825 826| 参数名 | 类型 | 必填 | 说明 | 827| ------ | ------ | ---- | ---------------------------------------- | 828| slotId | number | 是 | 卡槽ID。<br />0:卡槽1。<br />1:卡槽2。 | 829 830**返回值:** 831 832| 类型 | 说明 | 833| --------------- | ------------------------- | 834| Promise\<void\> | 以Promise形式返回禁用结果 | 835 836**错误码:** 837 838以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 839 840| 错误码ID | 错误信息 | 841| -------- | -------------------------------------------- | 842| 201 | Permission denied. | 843| 202 | Non-system applications use system APIs. | 844| 401 | Parameter error. | 845| 8300001 | Invalid parameter value. | 846| 8300002 | Operation failed. Cannot connect to service. | 847| 8300003 | System internal error. | 848| 8300999 | Unknown error code. | 849 850**示例:** 851 852```ts 853import data from '@ohos.telephony.data'; 854import { BusinessError } from '@ohos.base'; 855 856data.disableCellularDataRoaming(0).then(() => { 857 console.log(`disableCellularDataRoaming success.`); 858}).catch((err: BusinessError) => { 859 console.error(`disableCellularDataRoaming fail, promise: err->${JSON.stringify(err)}`); 860}); 861``` 862 863## data.getDefaultCellularDataSimId<sup>10+</sup> 864 865getDefaultCellularDataSimId(): number 866 867获取默认移动数据的SIM卡ID。 868 869**系统能力**:SystemCapability.Telephony.CellularData 870 871**返回值:** 872 873| 类型 | 说明 | 874| ------ | -------------------------------------------------- | 875| number | 获取默认移动数据的SIM卡ID。<br/>与SIM卡绑定,从1开始递增。 | 876 877**示例:** 878 879```ts 880import data from '@ohos.telephony.data'; 881 882console.log("Result: "+ data.getDefaultCellularDataSimId()); 883``` 884 885## DataFlowType 886 887描述蜂窝数据流类型。 888 889**系统能力**:SystemCapability.Telephony.CellularData 890 891| 名称 | 值 | 说明 | 892| ---------------------- | ---- | ------------------------------------------ | 893| DATA_FLOW_TYPE_NONE | 0 | 表示没有上行或下行数据。 | 894| DATA_FLOW_TYPE_DOWN | 1 | 表示只有下行数据。 | 895| DATA_FLOW_TYPE_UP | 2 | 表示只有上行数据。 | 896| DATA_FLOW_TYPE_UP_DOWN | 3 | 表示有上下行数据。 | 897| DATA_FLOW_TYPE_DORMANT | 4 | 表示没有上下行数据,底层链路处于休眠状态。 | 898 899## DataConnectState 900 901描述蜂窝数据链路连接状态。 902 903**系统能力**:SystemCapability.Telephony.CellularData 904 905| 名称 | 值 | 说明 | 906| ----------------------- | ---- | -------------------------- | 907| DATA_STATE_UNKNOWN | -1 | 表示蜂窝数据链路未知。 | 908| DATA_STATE_DISCONNECTED | 0 | 表示蜂窝数据链路断开。 | 909| DATA_STATE_CONNECTING | 1 | 表示正在连接蜂窝数据链路。 | 910| DATA_STATE_CONNECTED | 2 | 表示蜂窝数据链路已连接。 | 911| DATA_STATE_SUSPENDED | 3 | 表示蜂窝数据链路被挂起。 | 912