蜂窩數(shù)據(jù)

2024-01-23 16:35 更新

蜂窩數(shù)據(jù)提供了移動(dòng)數(shù)據(jù)管理能力,包括獲取、設(shè)置默認(rèn)移動(dòng)數(shù)據(jù)的SIM卡,獲取蜂窩數(shù)據(jù)業(yè)務(wù)的上下行和分組交換域(PS域)的連接狀態(tài),以及檢查蜂窩數(shù)據(jù)業(yè)務(wù)和漫游是否啟用等。

說明

本模塊首批接口從API version 7開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。

導(dǎo)入模塊

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

data.getDefaultCellularDataSlotId

getDefaultCellularDataSlotId(callback: AsyncCallback<number>): void

獲取默認(rèn)移動(dòng)數(shù)據(jù)的SIM卡,使用callback方式作為異步方法。

系統(tǒng)能力:SystemCapability.Telephony.CellularData

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<number>

回調(diào)函數(shù)。

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>

獲取默認(rèn)移動(dòng)數(shù)據(jù)的SIM卡,使用Promise方式作為異步方法。

系統(tǒng)能力:SystemCapability.Telephony.CellularData

返回值:

類型

說明

Promise<number>

以Promise形式返回獲取默認(rèn)移動(dòng)數(shù)據(jù)的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

獲取默認(rèn)移動(dòng)數(shù)據(jù)的SIM卡

系統(tǒng)能力:SystemCapability.Telephony.CellularData

返回值:

類型

說明

number

獲取默認(rèn)移動(dòng)數(shù)據(jù)的SIM卡。

0:卡槽1。

1:卡槽2。

示例:

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

data.getCellularDataFlowType

getCellularDataFlowType(callback: AsyncCallback<DataFlowType>): void

獲取蜂窩數(shù)據(jù)業(yè)務(wù)的上下行狀態(tài),使用callback方式作為異步方法。

系統(tǒng)能力:SystemCapability.Telephony.CellularData

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<DataFlowType>

回調(diào)函數(shù)。

示例:

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

data.getCellularDataFlowType

getCellularDataFlowType(): Promise<DataFlowType>

獲取蜂窩數(shù)據(jù)業(yè)務(wù)的上下行狀態(tài),使用Promise方式作為異步方法。

系統(tǒng)能力:SystemCapability.Telephony.CellularData

返回值:

類型

說明

Promise<DataFlowType>

以Promise形式返回獲取蜂窩數(shù)據(jù)業(yè)務(wù)的上下行狀態(tài)。

示例:

  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域)的連接狀態(tài),使用callback方式作為異步方法。

系統(tǒng)能力:SystemCapability.Telephony.CellularData

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<DataConnectState>

回調(diào)函數(shù)。

示例:

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

data.getCellularDataState

getCellularDataState(): Promise<DataConnectState>

獲取分組交換域(PS域)的連接狀態(tài),使用Promise方式作為異步方法。

系統(tǒng)能力:SystemCapability.Telephony.CellularData

返回值:

類型

說明

Promise<DataConnectState>

以Promise形式返回獲取PS域的連接狀態(tài)。

示例:

  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

檢查蜂窩數(shù)據(jù)業(yè)務(wù)是否啟用,使用callback方式作為異步方法。

需要權(quán)限:ohos.permission.GET_NETWORK_INFO

系統(tǒng)能力:SystemCapability.Telephony.CellularData

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<boolean>

回調(diào)函數(shù)。

true:蜂窩數(shù)據(jù)業(yè)務(wù)已啟用。

false:蜂窩數(shù)據(jù)業(yè)務(wù)已禁用。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見ohos.telephony(電話子系統(tǒng))錯(cuò)誤碼錯(cuò)誤碼。

錯(cuò)誤碼ID

錯(cuò)誤信息

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>

檢查蜂窩數(shù)據(jù)業(yè)務(wù)是否啟用,使用Promise方式作為異步方法。

需要權(quán)限:ohos.permission.GET_NETWORK_INFO

系統(tǒng)能力:SystemCapability.Telephony.CellularData

返回值:

類型

說明

Promise<boolean>

以Promise形式返回檢查蜂窩數(shù)據(jù)業(yè)務(wù)是否啟用。

true:蜂窩數(shù)據(jù)業(yè)務(wù)已啟用。

false:蜂窩數(shù)據(jù)業(yè)務(wù)已禁用。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見ohos.telephony(電話子系統(tǒng))錯(cuò)誤碼錯(cuò)誤碼。

錯(cuò)誤碼ID

錯(cuò)誤信息

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

檢查蜂窩數(shù)據(jù)業(yè)務(wù)是否啟用漫游,使用callback方式作為異步方法。

需要權(quán)限:ohos.permission.GET_NETWORK_INFO

系統(tǒng)能力:SystemCapability.Telephony.CellularData

參數(shù):

參數(shù)名

類型

必填

說明

slotId

number

卡槽ID。

0:卡槽1。

1:卡槽2。

callback

AsyncCallback<boolean>

回調(diào)函數(shù)。

true:蜂窩數(shù)據(jù)業(yè)務(wù)已啟用漫游。

false:蜂窩數(shù)據(jù)業(yè)務(wù)已禁用漫游。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見ohos.telephony(電話子系統(tǒng))錯(cuò)誤碼錯(cuò)誤碼。

錯(cuò)誤碼ID

錯(cuò)誤信息

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>

檢查蜂窩數(shù)據(jù)業(yè)務(wù)是否啟用漫游,使用Promise方式作為異步方法。

需要權(quán)限:ohos.permission.GET_NETWORK_INFO

系統(tǒng)能力:SystemCapability.Telephony.CellularData

參數(shù):

參數(shù)名

類型

必填

說明

slotId

number

卡槽ID。

0:卡槽1。

1:卡槽2。

返回值:

類型

說明

Promise<boolean>

以Promise形式返回檢查蜂窩數(shù)據(jù)業(yè)務(wù)是否啟用漫游。

true:蜂窩數(shù)據(jù)業(yè)務(wù)已啟用漫游。

false:蜂窩數(shù)據(jù)業(yè)務(wù)已禁用漫游。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見ohos.telephony(電話子系統(tǒng))錯(cuò)誤碼錯(cuò)誤碼。

錯(cuò)誤碼ID

錯(cuò)誤信息

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

描述蜂窩數(shù)據(jù)流類型。

系統(tǒng)能力:以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.Telephony.CellularData。

名稱

說明

DATA_FLOW_TYPE_NONE

0

表示沒有上行或下行數(shù)據(jù)。

DATA_FLOW_TYPE_DOWN

1

表示只有下行數(shù)據(jù)。

DATA_FLOW_TYPE_UP

2

表示只有上行數(shù)據(jù)。

DATA_FLOW_TYPE_UP_DOWN

3

表示有上下行數(shù)據(jù)。

DATA_FLOW_TYPE_DORMANT

4

表示沒有上下行數(shù)據(jù),底層鏈路處于休眠狀態(tài)。

DataConnectState

描述蜂窩數(shù)據(jù)鏈路連接狀態(tài)。

系統(tǒng)能力:以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.Telephony.CellularData。

名稱

說明

DATA_STATE_UNKNOWN

-1

表示蜂窩數(shù)據(jù)鏈路未知。

DATA_STATE_DISCONNECTED

0

表示蜂窩數(shù)據(jù)鏈路斷開。

DATA_STATE_CONNECTING

1

表示正在連接蜂窩數(shù)據(jù)鏈路。

DATA_STATE_CONNECTED

2

表示蜂窩數(shù)據(jù)鏈路已連接。

DATA_STATE_SUSPENDED

3

表示蜂窩數(shù)據(jù)鏈路被掛起。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)