@ohos.telephony.data (蜂窝数据)

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

说明:

本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import data from '@ohos.telephony.data';

data.getDefaultCellularDataSlotId

getDefaultCellularDataSlotId(callback: AsyncCallback<number>): void

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

系统能力:SystemCapability.Telephony.CellularData

参数:

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

示例:

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

data.getDefaultCellularDataSlotId

getDefaultCellularDataSlotId(): Promise<number>

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

系统能力:SystemCapability.Telephony.CellularData

返回值:

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

示例:

let promise = data.getDefaultCellularDataSlotId();
promise.then((data) => {
    console.log(`getDefaultCellularDataSlotId success, promise: data->${JSON.stringify(data)}`);
}).catch((err) => {
    console.error(`getDefaultCellularDataSlotId fail, promise: err->${JSON.stringify(err)}`);
});

data.getDefaultCellularDataSlotIdSync9+

getDefaultCellularDataSlotIdSync(): number

获取默认移动数据的SIM卡

系统能力:SystemCapability.Telephony.CellularData

返回值:

类型 说明
number 获取默认移动数据的SIM卡。
0:卡槽1。
1:卡槽2。

示例:

console.log("Result: "+ data.getDefaultCellularDataSlotIdSync())

data.setDefaultCellularDataSlotId

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

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

系统接口: 此接口为系统接口。

需要权限:ohos.permission.SET_TELEPHONY_STATE

系统能力:SystemCapability.Telephony.CellularData

参数:

参数名 类型 必填 说明
slotId number SIM卡槽ID。
- 0:卡槽1。
- 1:卡槽2。
- -1:清除默认配置。
callback AsyncCallback<void> 回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码错误码。

错误码ID 错误信息
201 Permission denied.
401 Parameter error.
8300001 Invalid parameter value.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300004 Do not have sim card.
8300999 Unknown error code.
8301001 SIM card is not activated.

示例:

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

data.setDefaultCellularDataSlotId

setDefaultCellularDataSlotId(slotId: number): Promise<void>

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

系统接口: 此接口为系统接口。

需要权限:ohos.permission.SET_TELEPHONY_STATE

系统能力:SystemCapability.Telephony.CellularData

参数:

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

返回值:

类型 说明
Promise<void> 以Promise形式异步返回设置结果。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码错误码。

错误码ID 错误信息
201 Permission denied.
401 Parameter error.
8300001 Invalid parameter value.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300004 Do not have sim card.
8300999 Unknown error code.
8301001 SIM card is not activated.

示例:

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

data.getCellularDataFlowType

getCellularDataFlowType(callback: AsyncCallback<DataFlowType>): void

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

系统能力:SystemCapability.Telephony.CellularData

参数:

参数名 类型 必填 说明
callback AsyncCallback<DataFlowType> 回调函数。

示例:

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

data.getCellularDataFlowType

getCellularDataFlowType(): Promise<DataFlowType>

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

系统能力:SystemCapability.Telephony.CellularData

返回值:

类型 说明
Promise<DataFlowType> 以Promise形式返回获取蜂窝数据业务的上下行状态。

示例:

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)}`);
});

data.getCellularDataState

getCellularDataState(callback: AsyncCallback<DataConnectState>): void

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

系统能力:SystemCapability.Telephony.CellularData

参数:

参数名 类型 必填 说明
callback AsyncCallback<DataConnectState> 回调函数。

示例:

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

data.getCellularDataState

getCellularDataState(): Promise<DataConnectState>

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

系统能力:SystemCapability.Telephony.CellularData

返回值:

类型 说明
Promise<DataConnectState> 以Promise形式返回获取PS域的连接状态。

示例:

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)}`);
});

data.isCellularDataEnabled

isCellularDataEnabled(callback: AsyncCallback<boolean>): void

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

需要权限:ohos.permission.GET_NETWORK_INFO

系统能力:SystemCapability.Telephony.CellularData

参数:

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

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码错误码。

错误码ID 错误信息
201 Permission denied.
401 Parameter error.
8300001 Invalid parameter value.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300999 Unknown error code.

示例:

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

data.isCellularDataEnabled

isCellularDataEnabled(): Promise<boolean>

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

需要权限:ohos.permission.GET_NETWORK_INFO

系统能力:SystemCapability.Telephony.CellularData

返回值:

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

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码错误码。

错误码ID 错误信息
201 Permission denied.
401 Parameter error.
8300001 Invalid parameter value.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300999 Unknown error code.

示例:

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)}`);
});

data.isCellularDataRoamingEnabled

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

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

需要权限:ohos.permission.GET_NETWORK_INFO

系统能力:SystemCapability.Telephony.CellularData

参数:

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

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码错误码。

错误码ID 错误信息
201 Permission denied.
401 Parameter error.
8300001 Invalid parameter value.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300999 Unknown error code.

示例:

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

data.isCellularDataRoamingEnabled

isCellularDataRoamingEnabled(slotId: number): Promise<boolean>

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

需要权限:ohos.permission.GET_NETWORK_INFO

系统能力:SystemCapability.Telephony.CellularData

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。
0:卡槽1。
1:卡槽2。

返回值:

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

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码错误码。

错误码ID 错误信息
201 Permission denied.
401 Parameter error.
8300001 Invalid parameter value.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300999 Unknown error code.

示例:

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)}`);
});

data.enableCellularData

enableCellularData(callback: AsyncCallback<void>): void

启用蜂窝数据服务,使用callback方式作为异步方法。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.SET_TELEPHONY_STATE

系统能力:SystemCapability.Telephony.CellularData

参数:

参数名 类型 必填 说明
callback AsyncCallback<void> 回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码错误码。

错误码ID 错误信息
201 Permission denied.
401 Parameter error.
8300001 Invalid parameter value.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300999 Unknown error code.

示例:

data.enableCellularData((err) => {
    console.log(`callback: err->${JSON.stringify(err)}`);
});

data.enableCellularData

enableCellularData(): Promise<void>

启用蜂窝数据服务,使用Promise方式作为异步方法。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.SET_TELEPHONY_STATE

系统能力:SystemCapability.Telephony.CellularData

返回值:

类型 说明
Promise<void> 以Promise形式返回结果。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码错误码。

错误码ID 错误信息
201 Permission denied.
401 Parameter error.
8300001 Invalid parameter value.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300999 Unknown error code.

示例:

let promise = data.enableCellularData();
promise.then(() => {
    console.log(`enableCellularData success.`);
}).catch((err) => {
    console.error(`enableCellularData fail, promise: err->${JSON.stringify(err)}`);
});

data.disableCellularData

disableCellularData(callback: AsyncCallback<void>): void

禁用蜂窝数据服务,使用callback方式作为异步方法。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.SET_TELEPHONY_STATE

系统能力:SystemCapability.Telephony.CellularData

参数:

参数名 类型 必填 说明
callback AsyncCallback<void> 回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码错误码。

错误码ID 错误信息
201 Permission denied.
401 Parameter error.
8300001 Invalid parameter value.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300999 Unknown error code.

示例:

data.disableCellularData((err) => {
    console.log(`callback: err->${JSON.stringify(err)}`);
});

data.disableCellularData

disableCellularData(): Promise<void>

禁用蜂窝数据服务,使用Promise方式作为异步方法。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.SET_TELEPHONY_STATE

系统能力:SystemCapability.Telephony.CellularData

返回值:

类型 说明
Promise<void> 以Promise形式返回禁用结果。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码错误码。

错误码ID 错误信息
201 Permission denied.
401 Parameter error.
8300001 Invalid parameter value.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300999 Unknown error code.

示例:

let promise = data.disableCellularData();
promise.then(() => {
    console.log(`disableCellularData success.`);
}).catch((err) => {
    console.error(`disableCellularData fail, promise: err->${JSON.stringify(err)}`);
});

data.enableCellularDataRoaming

enableCellularDataRoaming(slotId: number, callback: AsyncCallback<void>): void

启用蜂窝数据漫游,使用callback方式作为异步方法。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.SET_TELEPHONY_STATE

系统能力:SystemCapability.Telephony.CellularData

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。
0:卡槽1。
1:卡槽2。
callback AsyncCallback<void> 回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码错误码。

错误码ID 错误信息
201 Permission denied.
401 Parameter error.
8300001 Invalid parameter value.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300999 Unknown error code.

示例:

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

data.enableCellularDataRoaming

enableCellularDataRoaming(slotId: number): Promise<void>

启用蜂窝数据漫游,使用Promise方式作为异步方法。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.SET_TELEPHONY_STATE

系统能力:SystemCapability.Telephony.CellularData

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。
0:卡槽1。
1:卡槽2。

返回值:

类型 说明
Promise<void> 以Promise形式返回启用结果

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码错误码。

错误码ID 错误信息
201 Permission denied.
401 Parameter error.
8300001 Invalid parameter value.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300999 Unknown error code.

示例:

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

data.disableCellularDataRoaming

disableCellularDataRoaming(slotId: number, callback: AsyncCallback<void>): void

禁用蜂窝数据漫游,使用callback方式作为异步方法。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.SET_TELEPHONY_STATE

系统能力:SystemCapability.Telephony.CellularData

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。
0:卡槽1。
1:卡槽2。
callback AsyncCallback<void> 回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码错误码。

错误码ID 错误信息
201 Permission denied.
401 Parameter error.
8300001 Invalid parameter value.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300999 Unknown error code.

示例:

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

data.disableCellularDataRoaming

disableCellularDataRoaming(slotId: number): Promise<void>

禁用蜂窝数据漫游,使用Promise方式作为异步方法。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.SET_TELEPHONY_STATE

系统能力:SystemCapability.Telephony.CellularData

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。
0:卡槽1。
1:卡槽2。

返回值:

类型 说明
Promise<void> 以Promise形式返回禁用结果

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码错误码。

错误码ID 错误信息
201 Permission denied.
401 Parameter error.
8300001 Invalid parameter value.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300999 Unknown error code.

示例:

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

DataFlowType

描述蜂窝数据流类型。

系统能力:SystemCapability.Telephony.CellularData

名称 说明
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 表示没有上下行数据,底层链路处于休眠状态。

DataConnectState

描述蜂窝数据链路连接状态。

系统能力:SystemCapability.Telephony.CellularData

名称 说明
DATA_STATE_UNKNOWN -1 表示蜂窝数据链路未知。
DATA_STATE_DISCONNECTED 0 表示蜂窝数据链路断开。
DATA_STATE_CONNECTING 1 表示正在连接蜂窝数据链路。
DATA_STATE_CONNECTED 2 表示蜂窝数据链路已连接。
DATA_STATE_SUSPENDED 3 表示蜂窝数据链路被挂起。