蜂窝数据

2024-01-23 16:35 更新

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

说明

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

导入模块

  1. 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。

示例:

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

data.getDefaultCellularDataSlotId

getDefaultCellularDataSlotId(): Promise<number>

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

系统能力:SystemCapability.Telephony.CellularData

返回值:

类型

说明

Promise<number>

以Promise形式返回获取默认移动数据的SIM卡。

0:卡槽1。

1:卡槽2。

示例:

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

data.getDefaultCellularDataSlotIdSync9+

getDefaultCellularDataSlotIdSync(): number

获取默认移动数据的SIM卡

系统能力:SystemCapability.Telephony.CellularData

返回值:

类型

说明

number

获取默认移动数据的SIM卡。

0:卡槽1。

1:卡槽2。

示例:

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

data.getCellularDataFlowType

getCellularDataFlowType(callback: AsyncCallback<DataFlowType>): void

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

系统能力:SystemCapability.Telephony.CellularData

参数:

参数名

类型

必填

说明

callback

AsyncCallback<DataFlowType>

回调函数。

示例:

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

data.getCellularDataFlowType

getCellularDataFlowType(): Promise<DataFlowType>

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

系统能力:SystemCapability.Telephony.CellularData

返回值:

类型

说明

Promise<DataFlowType>

以Promise形式返回获取蜂窝数据业务的上下行状态。

示例:

  1. let promise = data.getCellularDataFlowType();
  2. promise.then((data) => {
  3. console.log(`test success, promise: data->${JSON.stringify(data)}`);
  4. }).catch((err) => {
  5. console.error(`test fail, promise: err->${JSON.stringify(err)}`);
  6. });

data.getCellularDataState

getCellularDataState(callback: AsyncCallback<DataConnectState>): void

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

系统能力:SystemCapability.Telephony.CellularData

参数:

参数名

类型

必填

说明

callback

AsyncCallback<DataConnectState>

回调函数。

示例:

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

data.getCellularDataState

getCellularDataState(): Promise<DataConnectState>

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

系统能力:SystemCapability.Telephony.CellularData

返回值:

类型

说明

Promise<DataConnectState>

以Promise形式返回获取PS域的连接状态。

示例:

  1. let promise = data.getCellularDataState();
  2. promise.then((data) => {
  3. console.log(`test success, promise: data->${JSON.stringify(data)}`);
  4. }).catch((err) => {
  5. console.error(`test fail, promise: err->${JSON.stringify(err)}`);
  6. });

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.

示例:

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

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.

示例:

  1. let promise = data.isCellularDataEnabled();
  2. promise.then((data) => {
  3. console.log(`test success, promise: data->${JSON.stringify(data)}`);
  4. }).catch((err) => {
  5. console.error(`test fail, promise: err->${JSON.stringify(err)}`);
  6. });

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.

示例:

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

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.

示例:

  1. let promise = data.isCellularDataRoamingEnabled(0);
  2. promise.then((data) => {
  3. console.log(`test success, promise: data->${JSON.stringify(data)}`);
  4. }).catch((err) => {
  5. console.error(`test fail, promise: err->${JSON.stringify(err)}`);
  6. });

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

表示蜂窝数据链路被挂起。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号