• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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