js-apis-telephony-data.md 12.6 KB
Newer Older
1 2
# 蜂窝数据

C
clevercong 已提交
3 4
蜂窝数据提供了移动数据管理能力,包括获取、设置默认移动数据的SIM卡,获取蜂窝数据业务的上下行和分组交换域(PS域)的连接状态,以及检查蜂窝数据业务和漫游是否启用等。

5 6 7 8 9 10
>**说明:** 
>
>本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 

## 导入模块

Z
zengyawen 已提交
11
```js
12 13 14
import data from '@ohos.telephony.data';
```

C
clevercong 已提交
15
## data.getDefaultCellularDataSlotId
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

getDefaultCellularDataSlotId(callback: AsyncCallback\<number\>): void 

获取默认移动数据的SIM卡,使用callback方式作为异步方法。 

**需要权限**:ohos.permission.GET_NETWORK_INFO

**系统能力**:SystemCapability.Telephony.CellularData

**参数:**

| 参数名   | 类型                    | 必填 | 说明                                       |
| -------- | ----------------------- | ---- | ------------------------------------------ |
| callback | AsyncCallback\<number\> | 是   | 回调函数。<br />0:卡槽1。<br />1:卡槽2。 |

**示例:**

Z
zengyawen 已提交
33
```js
34 35 36 37 38
data.getDefaultCellularDataSlotId((err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```

C
clevercong 已提交
39
## data.getDefaultCellularDataSlotId
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

getDefaultCellularDataSlotId(): Promise\<number\> 

获取默认移动数据的SIM卡,使用Promise方式作为异步方法。 

**需要权限**:ohos.permission.GET_NETWORK_INFO

**系统能力**:SystemCapability.Telephony.CellularData

**返回值:**

| 类型              | 说明                                                         |
| ----------------- | ------------------------------------------------------------ |
| Promise\<number\> | 以Promise形式返回获取默认移动数据的SIM卡。<br />0:卡槽1。<br />1:卡槽2。 |

**示例:**

Z
zengyawen 已提交
57
```js
58 59
let promise = data.getDefaultCellularDataSlotId();
promise.then((data) => {
Y
YOUR_NAME 已提交
60
    console.log(`getDefaultCellularDataSlotId success, promise: data->${JSON.stringify(data)}`);
61
}).catch((err) => {
Y
YOUR_NAME 已提交
62 63 64 65 66 67 68 69 70 71 72 73 74 75
    console.error(`getDefaultCellularDataSlotId fail, promise: err->${JSON.stringify(err)}`);
});
```

## data.setDefaultCellularDataSlotId

setDefaultCellularDataSlotId(slotId: number,callback: AsyncCallback\<void\>): void 

设置默认移动数据的SIM卡,使用callback方式作为异步方法。 

**需要权限**:ohos.permission.SET_TELEPHONY_STATE

**系统能力**:SystemCapability.Telephony.CellularData

C
clevercong 已提交
76 77
**系统API**:该接口为系统接口,三方应用不支持调用。

Y
YOUR_NAME 已提交
78 79 80 81 82
**参数:**

| 参数名   | 类型                  | 必填 | 说明                                                         |
| -------- | --------------------- | ---- | ------------------------------------------------------------ |
| slotId   | number                | 是   | SIM卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。<br/>- -1:清除默认配置。 |
C
clevercong 已提交
83
| callback | AsyncCallback\<void\> | 是   | 回调函数。                                                   |
Y
YOUR_NAME 已提交
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

**示例:**

```js
data.setDefaultCellularDataSlotId(0,(err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```

## data.setDefaultCellularDataSlotId

setDefaultCellularDataSlotId(slotId: number): Promise\<void\> 

设置默认移动数据的SIM卡,使用Promise方式作为异步方法。 

**需要权限**:ohos.permission.SET_TELEPHONY_STATE

**系统能力**:SystemCapability.Telephony.CellularData

C
clevercong 已提交
103 104
**系统API**:该接口为系统接口,三方应用不支持调用。

Y
YOUR_NAME 已提交
105 106 107 108 109 110 111 112
**参数:**

| 参数名 | 类型   | 必填 | 说明                                                         |
| ------ | ------ | ---- | ------------------------------------------------------------ |
| slotId | number | 是   | SIM卡槽ID。<br/>- 0:卡槽1。<br/>- 1:卡槽2。<br/>- -1:清除默认配置。 |

**返回值:**

C
clevercong 已提交
113 114 115
| 类型            | 说明                            |
| --------------- | ------------------------------- |
| Promise\<void\> | 以Promise形式异步返回设置结果。 |
Y
YOUR_NAME 已提交
116 117 118 119 120 121 122 123 124

**示例:**

```js
let promise = data.setDefaultCellularDataSlotId(0);
promise.then((data) => {
    console.log(`setDefaultCellularDataSlotId success, promise: data->${JSON.stringify(data)}`);
}).catch((err) => {
    console.error(`setDefaultCellularDataSlotId fail, promise: err->${JSON.stringify(err)}`);
125 126 127
});
```

C
clevercong 已提交
128
## data.getCellularDataFlowType
129 130 131 132 133 134 135 136 137 138 139

getCellularDataFlowType(callback: AsyncCallback\<DataFlowType\>): void

获取蜂窝数据业务的上下行状态,使用callback方式作为异步方法。

**系统能力**:SystemCapability.Telephony.CellularData

**参数:**

| 参数名   | 类型                                           | 必填 | 说明       |
| -------- | ---------------------------------------------- | ---- | ---------- |
C
clevercong 已提交
140
| callback | AsyncCallback\<[DataFlowType](#dataflowtype)\> | 是   | 回调函数。 |
141 142 143

**示例:**

Z
zengyawen 已提交
144
```js
145 146 147 148 149
data.getCellularDataFlowType((err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```

C
clevercong 已提交
150
## data.getCellularDataFlowType
151 152 153 154 155 156 157 158 159 160 161

getCellularDataFlowType(): Promise\<DataFlowType\>

获取蜂窝数据业务的上下行状态,使用Promise方式作为异步方法。

**系统能力**:SystemCapability.Telephony.CellularData

**返回值:**

| 类型                                     | 说明                                            |
| ---------------------------------------- | ----------------------------------------------- |
C
clevercong 已提交
162
| Promise\<[DataFlowType](#dataflowtype)\> | 以Promise形式返回获取蜂窝数据业务的上下行状态。 |
163 164 165

**示例:**

Z
zengyawen 已提交
166
```js
167 168 169 170 171 172 173 174
let promise = data.getCellularDataFlowType();
promise.then((data) => {
    console.log(`test success, promise: data->${JSON.stringify(data)}`);
}).catch((err) => {
    console.error(`test fail, promise: err->${JSON.stringify(err)}`);
});
```

C
clevercong 已提交
175
## data.getCellularDataState
176 177 178 179 180 181 182 183 184 185 186

getCellularDataState(callback: AsyncCallback\<DataConnectState\>): void

获取分组交换域(PS域)的连接状态,使用callback方式作为异步方法。

**系统能力**:SystemCapability.Telephony.CellularData

**参数:**

| 参数名   | 类型                                                   | 必填 | 说明       |
| -------- | ------------------------------------------------------ | ---- | ---------- |
C
clevercong 已提交
187
| callback | AsyncCallback\<[DataConnectState](#dataconnectstate)\> | 是   | 回调函数。 |
188 189 190

**示例:**

Z
zengyawen 已提交
191
```js
192 193 194 195 196
data.getCellularDataState((err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```

C
clevercong 已提交
197
## data.getCellularDataState
198 199 200 201 202 203 204 205 206 207 208

getCellularDataState(): Promise\<DataConnectState\>

获取分组交换域(PS域)的连接状态,使用Promise方式作为异步方法。

**系统能力**:SystemCapability.Telephony.CellularData

**返回值:**

| 类型                                             | 说明                                  |
| ------------------------------------------------ | ------------------------------------- |
C
clevercong 已提交
209
| Promise\<[DataConnectState](#dataconnectstate)\> | 以Promise形式返回获取PS域的连接状态。 |
210 211 212

**示例:**

Z
zengyawen 已提交
213
```js
214 215 216 217 218 219 220 221
let promise = data.getCellularDataState();
promise.then((data) => {
    console.log(`test success, promise: data->${JSON.stringify(data)}`);
}).catch((err) => {
    console.error(`test fail, promise: err->${JSON.stringify(err)}`);
});
```

C
clevercong 已提交
222
## data.isCellularDataEnabled
223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239

isCellularDataEnabled(callback: AsyncCallback\<boolean\>): void

检查蜂窝数据业务是否启用,使用callback方式作为异步方法。

**需要权限**:ohos.permission.GET_NETWORK_INFO

**系统能力**:SystemCapability.Telephony.CellularData

**参数:**

| 参数名   | 类型                     | 必填 | 说明                                                         |
| -------- | ------------------------ | ---- | ------------------------------------------------------------ |
| callback | AsyncCallback\<boolean\> | 是   | 回调函数。<br />true:蜂窝数据业务已启用。<br />false:蜂窝数据业务已禁用。 |

**示例:**

Z
zengyawen 已提交
240
```js
241 242 243 244 245
data.isCellularDataEnabled((err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```

C
clevercong 已提交
246
## data.isCellularDataEnabled
247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263

isCellularDataEnabled(): Promise\<boolean\>

检查蜂窝数据业务是否启用,使用Promise方式作为异步方法。

**需要权限**:ohos.permission.GET_NETWORK_INFO

**系统能力**:SystemCapability.Telephony.CellularData

**返回值:**

| 类型               | 说明                                                         |
| ------------------ | ------------------------------------------------------------ |
| Promise\<boolean\> | 以Promise形式返回检查蜂窝数据业务是否启用。<br />true:蜂窝数据业务已启用。<br />false:蜂窝数据业务已禁用。 |

**示例:**

Z
zengyawen 已提交
264
```js
265 266 267 268 269 270 271 272
let promise = data.isCellularDataEnabled();
promise.then((data) => {
    console.log(`test success, promise: data->${JSON.stringify(data)}`);
}).catch((err) => {
    console.error(`test fail, promise: err->${JSON.stringify(err)}`);
});
```

C
clevercong 已提交
273
## data.isCellularDataRoamingEnabled
274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291

isCellularDataRoamingEnabled(slotId: number, callback: AsyncCallback\<boolean\>): void

检查蜂窝数据业务是否启用漫游,使用callback方式作为异步方法。

**需要权限**:ohos.permission.GET_NETWORK_INFO

**系统能力**:SystemCapability.Telephony.CellularData

**参数:**

| 参数名   | 类型                     | 必填 | 说明                                                         |
| -------- | ------------------------ | ---- | ------------------------------------------------------------ |
| slotId   | number                   | 是   | 卡槽ID。<br />0:卡槽1。<br />1:卡槽2。                     |
| callback | AsyncCallback\<boolean\> | 是   | 回调函数。<br />true:蜂窝数据业务已启用漫游。<br />false:蜂窝数据业务已禁用漫游。 |

**示例:**

Z
zengyawen 已提交
292
```js
293 294 295 296 297
data.isCellularDataRoamingEnabled(0,(err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```

C
clevercong 已提交
298
## data.isCellularDataRoamingEnabled
299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321

isCellularDataRoamingEnabled(slotId: number): Promise\<boolean\>

检查蜂窝数据业务是否启用漫游,使用Promise方式作为异步方法。

**需要权限**:ohos.permission.GET_NETWORK_INFO

**系统能力**:SystemCapability.Telephony.CellularData

**参数:**

| 参数名 | 类型   | 必填 | 说明                                     |
| ------ | ------ | ---- | ---------------------------------------- |
| slotId | number | 是   | 卡槽ID。<br />0:卡槽1。<br />1:卡槽2。 |

**返回值:**

| 类型               | 说明                                                         |
| ------------------ | ------------------------------------------------------------ |
| Promise\<boolean\> | 以Promise形式返回检查蜂窝数据业务是否启用漫游。<br />true:蜂窝数据业务已启用漫游。<br />false:蜂窝数据业务已禁用漫游。 |

**示例:**

Z
zengyawen 已提交
322
```js
323 324 325 326 327 328 329 330
let promise = data.isCellularDataRoamingEnabled(0);
promise.then((data) => {
    console.log(`test success, promise: data->${JSON.stringify(data)}`);
}).catch((err) => {
    console.error(`test fail, promise: err->${JSON.stringify(err)}`);
});
```

C
clevercong 已提交
331
## DataFlowType
332

C
clevercong 已提交
333
描述蜂窝数据流类型。 
334

C
clevercong 已提交
335
**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CellularData。
336

C
clevercong 已提交
337
| 名称                   | 值   | 说明                                       |
C
clevercong 已提交
338 339 340 341 342 343
| ---------------------- | ---- | ------------------------------------------ |
| DATA_FLOW_TYPE_NONE    | 0    | 表示没有上行或下行数据。                   |
| DATA_FLOW_TYPE_DOWN    | 1    | 表示只有下行数据。                         |
| DATA_FLOW_TYPE_UP      | 2    | 表示只有上行数据。                         |
| DATA_FLOW_TYPE_UP_DOWN | 3    | 表示有上下行数据。                         |
| DATA_FLOW_TYPE_DORMANT | 4    | 表示没有上下行数据,底层链路处于休眠状态。 |
344

C
clevercong 已提交
345
## DataConnectState
346

C
clevercong 已提交
347 348 349 350
描述蜂窝数据链路连接状态。 

**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CellularData。

C
clevercong 已提交
351
| 名称                    | 值   | 说明                       |
C
clevercong 已提交
352 353 354 355 356 357
| ----------------------- | ---- | -------------------------- |
| DATA_STATE_UNKNOWN      | -1   | 表示蜂窝数据链路未知。     |
| DATA_STATE_DISCONNECTED | 0    | 表示蜂窝数据链路断开。     |
| DATA_STATE_CONNECTING   | 1    | 表示正在连接蜂窝数据链路。 |
| DATA_STATE_CONNECTED    | 2    | 表示蜂窝数据链路已连接。   |
| DATA_STATE_SUSPENDED    | 3    | 表示蜂窝数据链路被挂起。   |