1# 蜂窝数据 2 3>**说明:** 4> 5>本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 6 7## 导入模块 8 9``` 10import data from '@ohos.telephony.data'; 11``` 12 13## data.getDefaultCellularDataSlotId 14 15getDefaultCellularDataSlotId(callback: AsyncCallback\<number\>): void 16 17获取默认移动数据的SIM卡,使用callback方式作为异步方法。 18 19**需要权限**:ohos.permission.GET_NETWORK_INFO 20 21**系统能力**:SystemCapability.Telephony.CellularData 22 23**参数:** 24 25| 参数名 | 类型 | 必填 | 说明 | 26| -------- | ----------------------- | ---- | ------------------------------------------ | 27| callback | AsyncCallback\<number\> | 是 | 回调函数。<br />0:卡槽1。<br />1:卡槽2。 | 28 29**示例:** 30 31``` 32data.getDefaultCellularDataSlotId((err, data) => { 33 console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 34}); 35``` 36 37## data.getDefaultCellularDataSlotId 38 39getDefaultCellularDataSlotId(): Promise\<number\> 40 41获取默认移动数据的SIM卡,使用Promise方式作为异步方法。 42 43**需要权限**:ohos.permission.GET_NETWORK_INFO 44 45**系统能力**:SystemCapability.Telephony.CellularData 46 47**返回值:** 48 49| 类型 | 说明 | 50| ----------------- | ------------------------------------------------------------ | 51| Promise\<number\> | 以Promise形式返回获取默认移动数据的SIM卡。<br />0:卡槽1。<br />1:卡槽2。 | 52 53**示例:** 54 55``` 56let promise = data.getDefaultCellularDataSlotId(); 57promise.then((data) => { 58 console.log(`test success, promise: data->${JSON.stringify(data)}`); 59}).catch((err) => { 60 console.error(`test fail, promise: err->${JSON.stringify(err)}`); 61}); 62``` 63 64## data.getCellularDataFlowType 65 66getCellularDataFlowType(callback: AsyncCallback\<DataFlowType\>): void 67 68获取蜂窝数据业务的上下行状态,使用callback方式作为异步方法。 69 70**系统能力**:SystemCapability.Telephony.CellularData 71 72**参数:** 73 74| 参数名 | 类型 | 必填 | 说明 | 75| -------- | ---------------------------------------------- | ---- | ---------- | 76| callback | AsyncCallback\<[DataFlowType](#dataflowtype)\> | 是 | 回调函数。 | 77 78**示例:** 79 80``` 81data.getCellularDataFlowType((err, data) => { 82 console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 83}); 84``` 85 86## data.getCellularDataFlowType 87 88getCellularDataFlowType(): Promise\<DataFlowType\> 89 90获取蜂窝数据业务的上下行状态,使用Promise方式作为异步方法。 91 92**系统能力**:SystemCapability.Telephony.CellularData 93 94**返回值:** 95 96| 类型 | 说明 | 97| ---------------------------------------- | ----------------------------------------------- | 98| Promise\<[DataFlowType](#dataflowtype)\> | 以Promise形式返回获取蜂窝数据业务的上下行状态。 | 99 100**示例:** 101 102``` 103let promise = data.getCellularDataFlowType(); 104promise.then((data) => { 105 console.log(`test success, promise: data->${JSON.stringify(data)}`); 106}).catch((err) => { 107 console.error(`test fail, promise: err->${JSON.stringify(err)}`); 108}); 109``` 110 111## data.getCellularDataState 112 113getCellularDataState(callback: AsyncCallback\<DataConnectState\>): void 114 115获取分组交换域(PS域)的连接状态,使用callback方式作为异步方法。 116 117**系统能力**:SystemCapability.Telephony.CellularData 118 119**参数:** 120 121| 参数名 | 类型 | 必填 | 说明 | 122| -------- | ------------------------------------------------------ | ---- | ---------- | 123| callback | AsyncCallback\<[DataConnectState](#dataconnectstate)\> | 是 | 回调函数。 | 124 125**示例:** 126 127``` 128data.getCellularDataState((err, data) => { 129 console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 130}); 131``` 132 133## data.getCellularDataState 134 135getCellularDataState(): Promise\<DataConnectState\> 136 137获取分组交换域(PS域)的连接状态,使用Promise方式作为异步方法。 138 139**系统能力**:SystemCapability.Telephony.CellularData 140 141**返回值:** 142 143| 类型 | 说明 | 144| ------------------------------------------------ | ------------------------------------- | 145| Promise\<[DataConnectState](#dataconnectstate)\> | 以Promise形式返回获取PS域的连接状态。 | 146 147**示例:** 148 149``` 150let promise = data.getCellularDataState(); 151promise.then((data) => { 152 console.log(`test success, promise: data->${JSON.stringify(data)}`); 153}).catch((err) => { 154 console.error(`test fail, promise: err->${JSON.stringify(err)}`); 155}); 156``` 157 158## data.isCellularDataEnabled 159 160isCellularDataEnabled(callback: AsyncCallback\<boolean\>): void 161 162检查蜂窝数据业务是否启用,使用callback方式作为异步方法。 163 164**需要权限**:ohos.permission.GET_NETWORK_INFO 165 166**系统能力**:SystemCapability.Telephony.CellularData 167 168**参数:** 169 170| 参数名 | 类型 | 必填 | 说明 | 171| -------- | ------------------------ | ---- | ------------------------------------------------------------ | 172| callback | AsyncCallback\<boolean\> | 是 | 回调函数。<br />true:蜂窝数据业务已启用。<br />false:蜂窝数据业务已禁用。 | 173 174**示例:** 175 176``` 177data.isCellularDataEnabled((err, data) => { 178 console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 179}); 180``` 181 182## data.isCellularDataEnabled 183 184isCellularDataEnabled(): Promise\<boolean\> 185 186检查蜂窝数据业务是否启用,使用Promise方式作为异步方法。 187 188**需要权限**:ohos.permission.GET_NETWORK_INFO 189 190**系统能力**:SystemCapability.Telephony.CellularData 191 192**返回值:** 193 194| 类型 | 说明 | 195| ------------------ | ------------------------------------------------------------ | 196| Promise\<boolean\> | 以Promise形式返回检查蜂窝数据业务是否启用。<br />true:蜂窝数据业务已启用。<br />false:蜂窝数据业务已禁用。 | 197 198**示例:** 199 200``` 201let promise = data.isCellularDataEnabled(); 202promise.then((data) => { 203 console.log(`test success, promise: data->${JSON.stringify(data)}`); 204}).catch((err) => { 205 console.error(`test fail, promise: err->${JSON.stringify(err)}`); 206}); 207``` 208 209## data.isCellularDataRoamingEnabled 210 211isCellularDataRoamingEnabled(slotId: number, callback: AsyncCallback\<boolean\>): void 212 213检查蜂窝数据业务是否启用漫游,使用callback方式作为异步方法。 214 215**需要权限**:ohos.permission.GET_NETWORK_INFO 216 217**系统能力**:SystemCapability.Telephony.CellularData 218 219**参数:** 220 221| 参数名 | 类型 | 必填 | 说明 | 222| -------- | ------------------------ | ---- | ------------------------------------------------------------ | 223| slotId | number | 是 | 卡槽ID。<br />0:卡槽1。<br />1:卡槽2。 | 224| callback | AsyncCallback\<boolean\> | 是 | 回调函数。<br />true:蜂窝数据业务已启用漫游。<br />false:蜂窝数据业务已禁用漫游。 | 225 226**示例:** 227 228``` 229data.isCellularDataRoamingEnabled(0,(err, data) => { 230 console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 231}); 232``` 233 234## data.isCellularDataRoamingEnabled 235 236isCellularDataRoamingEnabled(slotId: number): Promise\<boolean\> 237 238检查蜂窝数据业务是否启用漫游,使用Promise方式作为异步方法。 239 240**需要权限**:ohos.permission.GET_NETWORK_INFO 241 242**系统能力**:SystemCapability.Telephony.CellularData 243 244**参数:** 245 246| 参数名 | 类型 | 必填 | 说明 | 247| ------ | ------ | ---- | ---------------------------------------- | 248| slotId | number | 是 | 卡槽ID。<br />0:卡槽1。<br />1:卡槽2。 | 249 250**返回值:** 251 252| 类型 | 说明 | 253| ------------------ | ------------------------------------------------------------ | 254| Promise\<boolean\> | 以Promise形式返回检查蜂窝数据业务是否启用漫游。<br />true:蜂窝数据业务已启用漫游。<br />false:蜂窝数据业务已禁用漫游。 | 255 256**示例:** 257 258``` 259let promise = data.isCellularDataRoamingEnabled(0); 260promise.then((data) => { 261 console.log(`test success, promise: data->${JSON.stringify(data)}`); 262}).catch((err) => { 263 console.error(`test fail, promise: err->${JSON.stringify(err)}`); 264}); 265``` 266 267## DataFlowType 268 269描述蜂窝数据流类型。 270 271**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CellularData。 272 273| 名称 | 值 | 说明 | 274| ---------------------- | ---- | ------------------------------------------ | 275| DATA_FLOW_TYPE_NONE | 0 | 表示没有上行或下行数据。 | 276| DATA_FLOW_TYPE_DOWN | 1 | 表示只有下行数据。 | 277| DATA_FLOW_TYPE_UP | 2 | 表示只有上行数据。 | 278| DATA_FLOW_TYPE_UP_DOWN | 3 | 表示有上下行数据。 | 279| DATA_FLOW_TYPE_DORMANT | 4 | 表示没有上下行数据,底层链路处于休眠状态。 | 280 281## DataConnectState 282 283描述蜂窝数据链路连接状态。 284 285**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CellularData。 286 287| 名称 | 值 | 说明 | 288| ----------------------- | ---- | -------------------------- | 289| DATA_STATE_UNKNOWN | -1 | 表示蜂窝数据链路未知。 | 290| DATA_STATE_DISCONNECTED | 0 | 表示蜂窝数据链路断开。 | 291| DATA_STATE_CONNECTING | 1 | 表示正在连接蜂窝数据链路。 | 292| DATA_STATE_CONNECTED | 2 | 表示蜂窝数据链路已连接。 | 293| DATA_STATE_SUSPENDED | 3 | 表示蜂窝数据链路被挂起。 |