harmony 鸿蒙@ohos.telephony.radio (Network Search)

2022-08-09 浏览 (902)

@ohos.telephony.radio (Network Search)

The radio module provides basic network search management functions. You can obtain the radio access technology (RAT) used in the CS and PS domains, network status, current network selection mode, ISO country code of the registered network, ID of the slot in which the primary card is located, list of signal strengths of the registered network, carrier name, and IMEI, MEID, and unique device ID of the SIM card in the specified slot. Besides, you can check whether the current device supports 5G(NR) and whether the radio service is enabled on the primary SIM card.

NOTE

The initial APIs of this module are supported since API version 6. Newly added APIs will be marked with a superscript to indicate their earliest API version.

Modules to Import

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

radio.getRadioTech

getRadioTech(slotId: number, callback: AsyncCallback<{psRadioTech: RadioTechnology, csRadioTech: RadioTechnology}>): void

Obtains the RAT used in the CS and PS domains for the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

Required permission: ohos.permission.GET_NETWORK_INFO

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<{psRadioTech: RadioTechnology, csRadioTech:RadioTechnology}>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
class Tech {
    psRadioTech: radio.RadioTechnology = radio.RadioTechnology.RADIO_TECHNOLOGY_UNKNOWN;
    csRadioTech: radio.RadioTechnology = radio.RadioTechnology.RADIO_TECHNOLOGY_UNKNOWN;
}
radio.getRadioTech(slotId, (err: BusinessError, data: Tech) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getRadioTech

getRadioTech(slotId: number): Promise<{psRadioTech: RadioTechnology, csRadioTech: RadioTechnology}>

Obtains the RAT used in the CS and PS domains for the SIM card in the specified slot. This API uses a promise to return the result.

Required permission: ohos.permission.GET_NETWORK_INFO

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Promise<{psRadioTech: RadioTechnology, csRadioTech: RadioTechnology}>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
class Tech {
    psRadioTech: radio.RadioTechnology = radio.RadioTechnology.RADIO_TECHNOLOGY_UNKNOWN;
    csRadioTech: radio.RadioTechnology = radio.RadioTechnology.RADIO_TECHNOLOGY_UNKNOWN;
}
radio.getRadioTech(slotId).then((data: Tech) => {
    console.log(`getRadioTech success, data->${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
    console.log(`getRadioTech failed, err->${JSON.stringify(err)}`);
});

radio.getNetworkState

getNetworkState(callback: AsyncCallback<NetworkState>): void

Obtains the network status. This API uses an asynchronous callback to return the result.

Required permission: ohos.permission.GET_NETWORK_INFO

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<NetworkState>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

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

radio.getNetworkState

getNetworkState(slotId: number, callback: AsyncCallback<NetworkState>): void

Obtains the network status of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

Required permission: ohos.permission.GET_NETWORK_INFO

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<NetworkState>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getNetworkState(slotId, (err: BusinessError, data: radio.NetworkState) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getNetworkState

getNetworkState(slotId?: number): Promise<NetworkState>

Obtains the network status of the SIM card in the specified slot. This API uses a promise to return the result.

Required permission: ohos.permission.GET_NETWORK_INFO

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberNoCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Promise<NetworkState>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getNetworkState(slotId).then((data: radio.NetworkState) => {
    console.log(`getNetworkState success, promise: data->${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
    console.log(`getNetworkState failed, promise: err->${JSON.stringify(err)}`);
});

radio.getNetworkSelectionMode

getNetworkSelectionMode(slotId: number, callback: AsyncCallback<NetworkSelectionMode>): void

Obtains the network selection mode of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<NetworkSelectionMode>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getNetworkSelectionMode(slotId, (err: BusinessError, data: radio.NetworkSelectionMode) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getNetworkSelectionMode

getNetworkSelectionMode(slotId: number): Promise<NetworkSelectionMode>

Obtains the network selection mode of the SIM card in the specified slot. This API uses a promise to return the result.

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Promise<NetworkSelectionMode>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getNetworkSelectionMode(slotId).then((data: radio.NetworkSelectionMode) => {
    console.log(`getNetworkSelectionMode success, promise: data->${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
    console.log(`getNetworkSelectionMode failed, promise: err->${JSON.stringify(err)}`);
});

radio.getISOCountryCodeForNetwork7+

getISOCountryCodeForNetwork(slotId: number, callback: AsyncCallback<string>): void

Obtains the ISO country code of the network with which the SIM card in the specified slot is registered. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<string>YesCallback used to return the result, which is an ISO country code, for example, CN (China).

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getISOCountryCodeForNetwork(slotId, (err: BusinessError, data: string) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getISOCountryCodeForNetwork7+

getISOCountryCodeForNetwork(slotId: number): Promise<string>

Obtains the ISO country code of the network with which the SIM card in the specified slot is registered. This API uses a promise to return the result.

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Promise<string>Promise used to return the result, which is an ISO country code, for example, CN (China).

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getISOCountryCodeForNetwork(slotId).then((data: string) => {
    console.log(`getISOCountryCodeForNetwork success, promise: data->${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
    console.log(`getISOCountryCodeForNetwork failed, promise: err->${JSON.stringify(err)}`);
});

radio.getISOCountryCodeForNetworkSync10+

getISOCountryCodeForNetworkSync(slotId: number): string

Obtains the ISO country code of the network with which the SIM card in the specified slot is registered.

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
stringISO country code of the network, for example, CN (China).

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
let countryISO: string = radio.getISOCountryCodeForNetworkSync(slotId);
console.log(`the country ISO is:` + countryISO);

radio.getPrimarySlotId7+

getPrimarySlotId(callback: AsyncCallback<number>): void

Obtains the ID of the slot in which the primary card is located. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<number>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

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

radio.getPrimarySlotId7+

getPrimarySlotId(): Promise<number>

Obtains the ID of the slot in which the primary card is located. This API uses a promise to return the result.

System capability: SystemCapability.Telephony.CoreService

Return value

TypeDescription
Promise<number>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

radio.getPrimarySlotId().then((data: number) => {
    console.log(`getPrimarySlotId success, promise: data->${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
    console.error(`getPrimarySlotId failed, promise: err->${JSON.stringify(err)}`);
});

radio.getSignalInformation7+

getSignalInformation(slotId: number, callback: AsyncCallback<Array<SignalInformation>>): void

Obtains a list of signal strengths of the network with which the SIM card in the specified slot is registered. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<Array<SignalInformation>>YesCallback used to return the result, which is a list of SignalInformation objects.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getSignalInformation(slotId, (err: BusinessError, data: Array<radio.SignalInformation>) => {
   console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getSignalInformation7+

getSignalInformation(slotId: number): Promise<Array<SignalInformation>>

Obtains a list of signal strengths of the network with which the SIM card in the specified slot is registered. This API uses a promise to return the result.

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Promise<Array<SignalInformation>>Promise used to return the result, which is a list of SignalInformation objects.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getSignalInformation(slotId).then((data: Array<radio.SignalInformation>) => {
    console.log(`getSignalInformation success, promise: data->${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
    console.error(`getSignalInformation failed, promise: err->${JSON.stringify(err)}`);
});

radio.getSignalInformationSync10+

getSignalInformationSync(slotId: number): Array<SignalInformation>

Obtains a list of signal strengths of the network with which the SIM card in the specified slot is registered.

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Array<SignalInformation>Array of SignalInformation objects.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
let signalInfo: Array<radio.SignalInformation> = radio.getSignalInformationSync(slotId);
console.log(`signal information size is:` + signalInfo.length);

radio.isNrSupported(deprecated)

isNrSupported(): boolean

Checks whether the SIM card supports 5G (NR).

NOTE

This API is supported since API version 7 and deprecated since API version 9. You are advised to use isNRSupported.

System capability: SystemCapability.Telephony.CoreService

Return value

TypeDescription
boolean- true: The current device supports 5G (NR).
- false: The current device does not support 5G (NR).

Example

let result: boolean = radio.isNrSupported();
console.log("Result: "+ result);

radio.isNrSupported(deprecated)

isNrSupported(slotId: number): boolean

Checks whether the SIM card in the specified slot supports 5G (NR).

NOTE

This API is supported since API version 8 and deprecated since API version 9. You are advised to use isNRSupported.

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
boolean- true: The current device supports 5G (NR).
- false: The current device does not support 5G (NR).

Example

let slotId: number = 0;
let result: boolean = radio.isNrSupported(slotId);
console.log("Result: "+ result);

radio.isNRSupported9+

isNRSupported(): boolean

Checks whether the current device supports 5G (NR).

System capability: SystemCapability.Telephony.CoreService

Return value

TypeDescription
boolean- true: The current device supports 5G (NR).
- false: The current device does not support 5G (NR).

Example

let result: boolean = radio.isNRSupported();
console.log("Result: "+ result);

radio.isNRSupported9+

isNRSupported(slotId: number): boolean

Checks whether the current device supports 5G (NR).

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
boolean- true: The current device supports 5G (NR).
- false: The current device does not support 5G (NR).

Example

let slotId: number = 0;
let result: boolean = radio.isNRSupported(slotId);
console.log("Result: "+ result);

radio.isRadioOn7+

isRadioOn(callback: AsyncCallback<boolean>): void

Checks whether the radio service is enabled on the primary SIM card. This API uses an asynchronous callback to return the result.

Required permission: ohos.permission.GET_NETWORK_INFO

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<boolean>YesCallback used to return the result.
- true: The radio service is enabled.
- false: The radio service is disabled.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

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

radio.isRadioOn7+

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

Checks whether the radio service is enabled on the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

Required permission: ohos.permission.GET_NETWORK_INFO

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<boolean>YesCallback used to return the result.
- true: The radio service is enabled.
- false: The radio service is disabled.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.isRadioOn(slotId, (err: BusinessError, data: boolean) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.isRadioOn7+

isRadioOn(slotId?: number): Promise<boolean>

Checks whether the radio service is enabled on the SIM card in the specified slot. This API uses a promise to return the result.

Required permission: ohos.permission.GET_NETWORK_INFO

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberNoCard slot ID.
- 0: card slot 1
- 1: card slot 2
If the slot ID is not specified, this API is defaulted to check whether the radio service is enabled on the primary SIM card.

Return value

TypeDescription
Promise<boolean>Promise used to return the result.
- true: The radio service is enabled.
- false: The radio service is disabled.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.isRadioOn(slotId).then((data: boolean) => {
    console.log(`isRadioOn success, promise: data->${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
    console.error(`isRadioOn failed, promise: err->${JSON.stringify(err)}`);
});

radio.getOperatorName7+

getOperatorName(slotId: number, callback: AsyncCallback<string>): void

Obtains the carrier name of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<string>YesCallback used to return the result, which is the carrier name, for example, China Mobile.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getOperatorName(slotId, (err: BusinessError, data: string) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getOperatorName7+

getOperatorName(slotId: number): Promise<string>

Obtains the carrier name of the SIM card in the specified slot. This API uses a promise to return the result.

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Promise<string>Promise used t return the result, which is the carrier name, for example, China Mobile.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getOperatorName(slotId).then((data: string) => {
    console.log(`getOperatorName success, promise: data->${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
    console.log(`getOperatorName failed, promise: err->${JSON.stringify(err)}`);
});

radio.getOperatorNameSync10+

getOperatorNameSync(slotId: number): string

Obtains the carrier name of the SIM card in the specified slot.

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
stringCarrier name, for example, China Mobile.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
let operatorName: string = radio.getOperatorNameSync(slotId);
console.log(`operator name is:` + operatorName);

radio.setPrimarySlotId8+

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

Sets the ID of the slot in which the primary card is located. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.SET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300004Do not have sim card.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.setPrimarySlotId(slotId, (err: BusinessError) => {
    console.log(`callback: err->${JSON.stringify(err)}`);
});

radio.setPrimarySlotId8+

setPrimarySlotId(slotId: number): Promise<void>

Sets the ID of the slot in which the primary card is located. This API uses a promise to return the result.

System API: This is a system API.

Required permission: ohos.permission.SET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Promise<void>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300004Do not have sim card.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.setPrimarySlotId(slotId).then(() => {
    console.log(`setPrimarySlotId success.`);
}).catch((err: BusinessError) => {
    console.log(`setPrimarySlotId failed, promise: err->${JSON.stringify(err)}`);
});

radio.getIMEI8+

getIMEI(callback: AsyncCallback<string>): void

Obtains the IMEI of the SIM card. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<string>YesCallback used to return the result. If the IMEI does not exist, an empty string is returned.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

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

radio.getIMEI8+

getIMEI(slotId: number, callback: AsyncCallback<string>): void

Obtains the IMEI of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<string>YesCallback used to return the result. If the IMEI does not exist, an empty string is returned.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getIMEI(slotId, (err: BusinessError, data: string) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getIMEI8+

getIMEI(slotId?: number): Promise<string>

Obtains the IMEI of the SIM card in the specified slot. This API uses a promise to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberNoCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Promise<string>Promise used to return the result. If the IMEI does not exist, an empty string is returned.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getIMEI(slotId).then((data: string) => {
    console.log(`getIMEI success, promise: data->${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
    console.error(`getIMEI failed, promise: err->${JSON.stringify(err)}`);
});

radio.getMEID8+

getMEID(callback: AsyncCallback<string>): void

Obtains the MEID of the SIM card. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<string>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

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

radio.getMEID8+

getMEID(slotId: number, callback: AsyncCallback<string>): void

Obtains the MEID of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<string>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getMEID(slotId, (err: BusinessError, data: string) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getMEID8+

getMEID(slotId?: number): Promise<string>

Obtains the MEID of the SIM card in the specified slot. This API uses a promise to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberNoCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Promise<string>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getMEID(slotId).then((data: string) => {
    console.log(`getMEID success, promise: data->${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
    console.error(`getMEID failed, promise: err->${JSON.stringify(err)}`);
});

radio.getUniqueDeviceId8+

getUniqueDeviceId(callback: AsyncCallback<string>): void

Obtains the unique device ID of the SIM card. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<string>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

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

radio.getUniqueDeviceId8+

getUniqueDeviceId(slotId: number, callback: AsyncCallback<string>): void

Obtains the unique device ID of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<string>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getUniqueDeviceId(slotId, (err: BusinessError, data: string) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getUniqueDeviceId8+

getUniqueDeviceId(slotId?: number): Promise<string>

Obtains the unique device ID of the SIM card in the specified slot. This API uses a promise to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberNoCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Promise<string>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getUniqueDeviceId(slotId).then((data: string) => {
    console.log(`getUniqueDeviceId success, promise: data->${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
    console.error(`getUniqueDeviceId failed, promise: err->${JSON.stringify(err)}`);
});

radio.sendUpdateCellLocationRequest8+

sendUpdateCellLocationRequest(callback: AsyncCallback<void>): void

Sends a cell location update request. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

radio.sendUpdateCellLocationRequest((err: BusinessError) => {
    console.log(`callback: err->${JSON.stringify(err)}`);
});

radio.sendUpdateCellLocationRequest8+

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

Sends a cell location update request for the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.sendUpdateCellLocationRequest(slotId, (err: BusinessError) => {
    console.log(`callback: err->${JSON.stringify(err)}`);
});

radio.sendUpdateCellLocationRequest8+

sendUpdateCellLocationRequest(slotId?: number): Promise<void>

Sends a cell location update request for the SIM card in the specified slot. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberNoCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Promise<void>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.sendUpdateCellLocationRequest(slotId).then(() => {
    console.log(`sendUpdateCellLocationRequest success.`);
}).catch((err: BusinessError) => {
    console.log(`sendUpdateCellLocationRequest failed, promise: err->${JSON.stringify(err)}`);
});

radio.getCellInformation8+

getCellInformation(callback: AsyncCallback<Array<CellInformation>>): void

Obtains cell information. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<Array<CellInformation>>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

radio.getCellInformation((err: BusinessError, data: Array<radio.CellInformation>) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getCellInformation8+

getCellInformation(slotId: number, callback: AsyncCallback<Array<CellInformation>>): void

Obtains cell information of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<Array<CellInformation>>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getCellInformation(slotId, (err: BusinessError, data: Array<radio.CellInformation>) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getCellInformation8+

getCellInformation(slotId?: number): Promise<Array<CellInformation>>

Obtains cell information of the SIM card in the specified slot. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberNoCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Promise<Array<CellInformation>>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getCellInformation(slotId).then((data: Array<radio.CellInformation>) => {
    console.log(`getCellInformation success, promise: data->${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
    console.error(`getCellInformation failed, promise: err->${JSON.stringify(err)}`);
});

radio.setNetworkSelectionMode

setNetworkSelectionMode(options: NetworkSelectionModeOptions, callback: AsyncCallback<void>): void

Sets the network selection mode. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.SET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
optionsNetworkSelectionModeOptionsYesNetwork selection mode.
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let networkInformation: radio.NetworkInformation = {
    operatorName: "China Mobile",
    operatorNumeric: "898600",
    state: radio.NetworkInformationState.NETWORK_AVAILABLE,
    radioTech: "CS"
}
let networkSelectionModeOptions: radio.NetworkSelectionModeOptions = {
    slotId: 0,
    selectMode: radio.NetworkSelectionMode.NETWORK_SELECTION_AUTOMATIC,
    networkInformation: networkInformation,
    resumeSelection: true
}
radio.setNetworkSelectionMode(networkSelectionModeOptions, (err: BusinessError) => {
    console.log(`callback: err->${JSON.stringify(err)}`);
});

radio.setNetworkSelectionMode

setNetworkSelectionMode(options: NetworkSelectionModeOptions): Promise<void>

Sets the network selection mode. This API uses a promise to return the result.

System API: This is a system API.

Required permission: ohos.permission.SET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
optionsNetworkSelectionModeOptionsYesNetwork selection mode.

Return value

TypeDescription
Promise<void>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let networkInformation: radio.NetworkInformation = {
    operatorName: "China Mobile",
    operatorNumeric: "898600",
    state: radio.NetworkInformationState.NETWORK_AVAILABLE,
    radioTech: "CS"
}
let networkSelectionModeOptions: radio.NetworkSelectionModeOptions = {
    slotId: 0,
    selectMode: radio.NetworkSelectionMode.NETWORK_SELECTION_AUTOMATIC,
    networkInformation: networkInformation,
    resumeSelection: true
}
radio.setNetworkSelectionMode(networkSelectionModeOptions).then(() => {
    console.log(`setNetworkSelectionMode success.`);
}).catch((err: BusinessError) => {
    console.log(`setNetworkSelectionMode failed, promise: err->${JSON.stringify(err)}`);
});

radio.getNetworkSearchInformation

getNetworkSearchInformation(slotId: number, callback: AsyncCallback<NetworkSearchResult>): void

Obtains network search information of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<NetworkSearchResult>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

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

radio.getNetworkSearchInformation

getNetworkSearchInformation(slotId: number): Promise<NetworkSearchResult>

Obtains network search information of the SIM card in the specified slot. This API uses a promise to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Promise<NetworkSearchResult>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

radio.getNetworkSearchInformation(0).then((data: radio.NetworkSearchResult) => {
    console.log(`getNetworkSearchInformation success, promise: data->${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
    console.log(`getNetworkSearchInformation failed, promise: err->${JSON.stringify(err)}`);
});

radio.getNrOptionMode(deprecated)

getNrOptionMode(callback: AsyncCallback<NrOptionMode>): void

Obtains the NR option mode. This API uses an asynchronous callback to return the result.

NOTE

This API is supported since API version 8 and deprecated since API version 10. You are advised to use getNROptionMode.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<NrOptionMode>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

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

radio.getNrOptionMode(deprecated)

getNrOptionMode(slotId: number, callback: AsyncCallback<NrOptionMode>): void

Obtains the NR option mode of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

NOTE

This API is supported since API version 8 and deprecated since API version 10. You are advised to use getNROptionMode.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<NrOptionMode>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getNrOptionMode(slotId, (err: BusinessError, data: radio.NrOptionMode) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getNrOptionMode(deprecated)

getNrOptionMode(slotId?: number): Promise<NrOptionMode>

Obtains the NR option mode of the SIM card in the specified slot. This API uses a promise to return the result.

NOTE

This API is supported since API version 8 and deprecated since API version 10. You are advised to use getNROptionMode.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberNoCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Promise<NrOptionMode>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getNrOptionMode(slotId).then((data: radio.NrOptionMode) => {
    console.log(`getNrOptionMode success, promise: data->${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
    console.error(`getNrOptionMode failed, promise: err->${JSON.stringify(err)}`);
});

radio.turnOnRadio7+

turnOnRadio(callback: AsyncCallback<void>): void

Turns on the radio function. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.SET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

radio.turnOnRadio((err: BusinessError) => {
    console.log(`callback: err->${JSON.stringify(err)}`);
});

radio.turnOnRadio7+

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

Turns on the radio function for the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.SET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.turnOnRadio(slotId, (err: BusinessError) => {
    console.log(`callback: err->${JSON.stringify(err)}`);
});

radio.turnOnRadio7+

turnOnRadio(slotId?: number): Promise<void>

Turns on the radio function for the SIM card in the specified slot. This API uses a promise to return the result.

System API: This is a system API.

Required permission: ohos.permission.SET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberNoCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Promise<void>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.turnOnRadio(slotId).then(() => {
    console.log(`turnOnRadio success.`);
}).catch((err: BusinessError) => {
    console.error(`turnOnRadio failed, promise: err->${JSON.stringify(err)}`);
});

radio.turnOffRadio7+

turnOffRadio(callback: AsyncCallback<void>): void

Turns off the radio function. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.SET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

radio.turnOffRadio((err: BusinessError) => {
    console.log(`callback: err->${JSON.stringify(err)}`);
});

radio.turnOffRadio7+

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

Turns off the radio function for the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.SET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.turnOffRadio(slotId, (err: BusinessError) => {
    console.log(`callback: err->${JSON.stringify(err)}`);
});

radio.turnOffRadio7+

turnOffRadio(slotId?: number): Promise<void>

Turns off the radio function for the SIM card in the specified slot. This API uses a promise to return the result.

System API: This is a system API.

Required permission: ohos.permission.SET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberNoCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Promise<void>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.turnOffRadio(slotId).then(() => {
    console.log(`turnOffRadio success.`);
}).catch((err: BusinessError) => {
    console.error(`turnOffRadio failed, promise: err->${JSON.stringify(err)}`);
});

radio.setPreferredNetwork8+

setPreferredNetwork(slotId: number, networkMode: PreferredNetworkMode, callback: AsyncCallback<void>): void

Sets the preferred network of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.SET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
networkModePreferredNetworkModeYesPreferred network mode.
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
let mode: radio.PreferredNetworkMode = radio.PreferredNetworkMode.PREFERRED_NETWORK_MODE_GSM;
radio.setPreferredNetwork(slotId, mode, (err: BusinessError) => {
    console.log(`callback: err->${JSON.stringify(err)}`);
});

radio.setPreferredNetwork8+

setPreferredNetwork(slotId: number, networkMode: PreferredNetworkMode): Promise<void>

Sets the preferred network of the SIM card in the specified slot. This API uses a promise to return the result.

System API: This is a system API.

Required permission: ohos.permission.SET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
networkModePreferredNetworkModeYesPreferred network mode.

Return value

TypeDescription
Promise<void>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
let mode: radio.PreferredNetworkMode = radio.PreferredNetworkMode.PREFERRED_NETWORK_MODE_GSM;
radio.setPreferredNetwork(slotId, mode).then(() => {
    console.log(`setPreferredNetwork success.`);
}).catch((err: BusinessError) => {
    console.log(`setPreferredNetwork failed, promise: err->${JSON.stringify(err)}`);
});

radio.getPreferredNetwork8+

getPreferredNetwork(slotId: number, callback: AsyncCallback<PreferredNetworkMode>): void

Obtains the preferred network of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<PreferredNetworkMode>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getPreferredNetwork(slotId, (err: BusinessError, data: radio.PreferredNetworkMode) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getPreferredNetwork8+

getPreferredNetwork(slotId: number): Promise<PreferredNetworkMode>

Obtains the preferred network of the SIM card in the specified slot. This API uses a promise to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Promise<PreferredNetworkMode>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getPreferredNetwork(slotId).then((data: radio.PreferredNetworkMode) => {
    console.log(`getPreferredNetwork success, promise: data->${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
    console.log(`getPreferredNetwork failed, promise: err->${JSON.stringify(err)}`);
});

radio.getImsRegInfo9+

getImsRegInfo(slotId: number, imsType: ImsServiceType, callback: AsyncCallback<ImsRegInfo>): void

Obtains the IMS registration status of the specified IMS service type for the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
imsTypeImsServiceTypeYesIMS service type.
callbackAsyncCallback<ImsRegInfo>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
let mode: radio.ImsServiceType = radio.ImsServiceType.TYPE_VIDEO;
radio.getImsRegInfo(slotId, mode, (err: BusinessError, data: radio.ImsRegInfo) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getImsRegInfo9+

getImsRegInfo(slotId: number, imsType: ImsServiceType): Promise<ImsRegInfo>

Obtains the IMS registration status of the specified IMS service type for the SIM card in the specified slot. This API uses a promise to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
imsTypeImsServiceTypeYesIMS service type.

Return value

TypeDescription
Promise<ImsRegInfo>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
let mode: radio.ImsServiceType = radio.ImsServiceType.TYPE_VIDEO;
radio.getImsRegInfo(slotId, mode).then((data: radio.ImsRegInfo) => {
    console.log(`getImsRegInfo success, promise: data->${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
    console.log(`getImsRegInfo failed, promise: err->${JSON.stringify(err)}`);
});

radio.on('imsRegStateChange')9+

on(type: 'imsRegStateChange', slotId: number, imsType: ImsServiceType, callback: Callback<ImsRegInfo>): void

Enables listening for imsRegStateChange events of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
typestringYesIMS registration status changes.
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
imsTypeImsServiceTypeYesIMS service type.
callbackCallback<ImsRegInfo>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
let mode: radio.ImsServiceType = radio.ImsServiceType.TYPE_VIDEO;
radio.on('imsRegStateChange', slotId, mode, (data: radio.ImsRegInfo) => {
    console.log(`callback: data->${JSON.stringify(data)}`);
});

radio.off('imsRegStateChange')9+

off(type: 'imsRegStateChange', slotId: number, imsType: ImsServiceType, callback?: Callback<ImsRegInfo>): void

Disables listening for imsRegStateChange events of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
typestringYesIMS registration status changes.
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
imsTypeImsServiceTypeYesIMS service type.
callbackCallback<ImsRegInfo>NoCallback used to return the result. If this parameter is not set, the API unsubscribes from all callbacks.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
let mode: radio.ImsServiceType = radio.ImsServiceType.TYPE_VIDEO;
radio.off('imsRegStateChange', slotId, mode, (data: radio.ImsRegInfo) => {
    console.log(`callback: data->${JSON.stringify(data)}`);
});

radio.getBasebandVersion10+

getBasebandVersion(slotId: number, callback: AsyncCallback<string>): void

Obtains the device baseband version of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<string>YesCallback used to return the result. Baseband version of the device.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getBasebandVersion(slotId, (err: BusinessError, data: string) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getBasebandVersion10+

getBasebandVersion(slotId: number): Promise<string>

Obtains the device baseband version of the SIM card in the specified slot. This API uses a promise to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Promise<string>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getBasebandVersion(slotId).then((data: string) => {
    console.log(`getBasebandVersion success, promise: data->${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
    console.error(`getBasebandVersion failed, promise: err->${JSON.stringify(err)}`);
});

radio.setNROptionMode10+

setNROptionMode(slotId: number, mode: NROptionMode, callback: AsyncCallback<void>): void

Sets the NR mode of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.SET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
modeNROptionModeYesEnumerates NR selection modes.
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
let mode: radio.NROptionMode = radio.NROptionMode.NR_OPTION_NSA_ONLY;
radio.setNROptionMode(slotId, mode, (err: BusinessError) => {
    console.log(`callback: err->${JSON.stringify(err)}`);
});

radio.setNROptionMode10+

setNROptionMode(slotId: number, mode: NROptionMode): Promise<void>

Sets the NR mode of the SIM card in the specified slot. This API uses a promise to return the result.

System API: This is a system API.

Required permission: ohos.permission.SET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
modeNROptionModeYesEnumerates NR selection modes.

Return value

TypeDescription
Promise<void>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
let mode: radio.NROptionMode = radio.NROptionMode.NR_OPTION_NSA_ONLY;
radio.setNROptionMode(slotId, mode).then(() => {
    console.log(`setNROptionMode success`);
}).catch((err: BusinessError) => {
    console.error(`setNROptionMode failed, promise: err->${JSON.stringify(err)}`);
});

radio.getNROptionMode10+

getNROptionMode(slotId: number, callback: AsyncCallback<NROptionMode>): void

Obtains the NR option mode of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackAsyncCallback<NROptionMode>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getNROptionMode(slotId, (err: BusinessError, data: radio.NROptionMode) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getNROptionMode10+

getNROptionMode(slotId: number): Promise<NROptionMode>

Obtains the NR option mode of the SIM card in the specified slot. This API uses a promise to return the result.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2

Return value

TypeDescription
Promise<NROptionMode>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
radio.getNROptionMode(slotId).then((data: radio.NROptionMode) => {
    console.log(`getNROptionMode success, promise: data->${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
    console.error(`getNROptionMode failed, promise: err->${JSON.stringify(err)}`);
});

radio.getNetworkCapability10+

getNetworkCapability(slotId: number, type: NetworkCapabilityType, callback: AsyncCallback<NetworkCapabilityState>): void

Obtains the network capability of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
typeNetworkCapabilityTypeYesNetwork capability type.
callbackAsyncCallback<NetworkCapabilityState>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
let type: radio.NetworkCapabilityType = radio.NetworkCapabilityType.SERVICE_TYPE_NR;
radio.getNetworkCapability(slotId, type, (err: BusinessError, data: radio.NetworkCapabilityState) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getNetworkCapability10+

getNetworkCapability(slotId: number, type: NetworkCapabilityType): Promise<NetworkCapabilityState>

Obtains the network capability of the SIM card in the specified slot. This API uses a promise to return the result.

System API: This is a system API.

Required permission: ohos.permission.GET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
typeNetworkCapabilityTypeYesNetwork capability type.

Return value

TypeDescription
Promise<NetworkCapabilityState>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
let type: radio.NetworkCapabilityType = radio.NetworkCapabilityType.SERVICE_TYPE_NR;
radio.getNetworkCapability(slotId, type).then((data: radio.NetworkCapabilityState) => {
    console.log(`getNetworkCapability success, promise: data->${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
    console.log(`getNetworkCapability failed, promise: err->${JSON.stringify(err)}`);
});

radio.setNetworkCapability10+

setNetworkCapability(slotId: number, type: NetworkCapabilityType, state: NetworkCapabilityState, callback: AsyncCallback<void>): void

Sets the network capability of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permission: ohos.permission.SET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
typeNetworkCapabilityTypeYesNetwork capability type.
stateNetworkCapabilityStateYesNetwork capability status.
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
let type: radio.NetworkCapabilityType = radio.NetworkCapabilityType.SERVICE_TYPE_NR;
let state: radio.NetworkCapabilityState = radio.NetworkCapabilityState.SERVICE_CAPABILITY_ON;
radio.setNetworkCapability(slotId, type, state, (err: BusinessError) => {
    console.log(`callback: err->${JSON.stringify(err)}`);
});

radio.setNetworkCapability10+

setNetworkCapability(slotId: number, type: NetworkCapabilityType, state: NetworkCapabilityState): Promise<void>

Sets the network capability of the SIM card in the specified slot. This API uses a promise to return the result.

System API: This is a system API.

Required permission: ohos.permission.SET_TELEPHONY_STATE

System capability: SystemCapability.Telephony.CoreService

Parameters

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
typeNetworkCapabilityTypeYesNetwork capability type.
stateNetworkCapabilityStateYesNetwork capability status.

Return value

TypeDescription
Promise<void>Promise used to return the result.

Error codes

For details about the error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import { BusinessError } from '@ohos.base';

let slotId: number = 0;
let type: radio.NetworkCapabilityType = radio.NetworkCapabilityType.SERVICE_TYPE_NR;
let state: radio.NetworkCapabilityState = radio.NetworkCapabilityState.SERVICE_CAPABILITY_ON;
radio.setNetworkCapability(slotId, type, state).then(() => {
    console.log(`setNetworkCapability success`);
}).catch((err: BusinessError) => {
    console.log(`setNetworkCapability failed, promise: err->${JSON.stringify(err)}`);
});

RadioTechnology

Enumerates radio access technologies.

System capability: SystemCapability.Telephony.CoreService

NameValueDescription
RADIO_TECHNOLOGY_UNKNOWN0Unknown RAT
RADIO_TECHNOLOGY_GSM1Global System for Mobile Communication (GSM)
RADIO_TECHNOLOGY_1XRTT2Single-Carrier Radio Transmission Technology (1XRTT)
RADIO_TECHNOLOGY_WCDMA3Wideband Code Division Multiple Access (WCDMA)
RADIO_TECHNOLOGY_HSPA4High Speed Packet Access (HSPA)
RADIO_TECHNOLOGY_HSPAP5Evolved High Speed Packet Access (HSPA+)
RADIO_TECHNOLOGY_TD_SCDMA6Time Division Synchronous Code Division Multiple Access (TD-SCDMA)
RADIO_TECHNOLOGY_EVDO7Evolution-Data Optimized (EVDO)
RADIO_TECHNOLOGY_EHRPD8Evolved High Rate Package Data (EHRPD)
RADIO_TECHNOLOGY_LTE9Long Term Evolution (LTE)
RADIO_TECHNOLOGY_LTE_CA10Long Term Evolution_Carrier Aggregation (LTE_CA)
RADIO_TECHNOLOGY_IWLAN11Industrial Wireless LAN (IWLAN)
RADIO_TECHNOLOGY_NR12New Radio (NR)

SignalInformation

Defines the signal strength.

System capability: SystemCapability.Telephony.CoreService

NameTypeMandatoryDescription
signalTypeNetworkTypeYesSignal strength type.
signalLevelnumberYesSignal strength level.
dBm9+numberYesSignal strength, in dBm.

NetworkType

Enumerates network types.

System capability: SystemCapability.Telephony.CoreService

NameValueDescription
NETWORK_TYPE_UNKNOWN0Unknown network.
NETWORK_TYPE_GSM1GSM network.
NETWORK_TYPE_CDMA2CDMA network.
NETWORK_TYPE_WCDMA3WCDMA network.
NETWORK_TYPE_TDSCDMA4TD-SCDMA network.
NETWORK_TYPE_LTE5LTE network.
NETWORK_TYPE_NR65G NR network.

NetworkState

Defines the network status.

System capability: SystemCapability.Telephony.CoreService

NameTypeMandatoryDescription
longOperatorNamestringYesLong carrier name of the registered network.
shortOperatorNamestringYesShort carrier name of the registered network.
plmnNumericstringYesPLMN code of the registered network.
isRoamingbooleanYesWhether the user is roaming.
regStateRegStateYesNetwork registration status of the device.
cfgTech8+RadioTechnologyYesRAT of the device.
nsaStateNsaStateYesNSA network registration status of the device.
isCaActivebooleanYesCA status.
isEmergencybooleanYesWhether only emergency calls are allowed.

RegState

Defines the network registration status of the device.

System capability: SystemCapability.Telephony.CoreService

NameValueDescription
REG_STATE_NO_SERVICE0The device cannot use any services, including data, SMS, and call services.
REG_STATE_IN_SERVICE1The device can use services properly, including data, SMS, and call services.
REG_STATE_EMERGENCY_CALL_ONLY2The device can use only the emergency call service.
REG_STATE_POWER_OFF3The device cannot communicate with the network because the cellular radio service is disabled or the modem is powered off.

NsaState

Enumerates NSA network states.

System capability: SystemCapability.Telephony.CoreService

NameValueDescription
NSA_STATE_NOT_SUPPORT1The device is in idle or connected state in an LTE cell that does not support NSA.
NSA_STATE_NO_DETECT2The device is in the idle state in an LTE cell that supports NSA but not NR coverage detection.
NSA_STATE_CONNECTED_DETECT3The device is connected to the LTE network in an LTE cell that supports NSA and NR coverage detection.
NSA_STATE_IDLE_DETECT4The device is in the idle state in an LTE cell that supports NSA and NR coverage detection.
NSA_STATE_DUAL_CONNECTED5The device is connected to the LTE/NR network in an LTE cell that supports NSA.
NSA_STATE_SA_ATTACHED6The device is idle or connected to the NG-RAN cell when being attached to the 5G Core.

NetworkSelectionMode

Enumerates network selection modes.

System capability: SystemCapability.Telephony.CoreService

NameValueDescription
NETWORK_SELECTION_UNKNOWN0Unknown network selection mode.
NETWORK_SELECTION_AUTOMATIC1Automatic network selection mode.
NETWORK_SELECTION_MANUAL2Manual network selection mode.

PreferredNetworkMode8+

Enumerates preferred network modes.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

NameValueDescription
PREFERRED_NETWORK_MODE_GSM1GSM network mode.
PREFERRED_NETWORK_MODE_WCDMA2WCDMA network mode.
PREFERRED_NETWORK_MODE_LTE3LTE network mode.
PREFERRED_NETWORK_MODE_LTE_WCDMA4LTE+WCDMA network mode.
PREFERRED_NETWORK_MODE_LTE_WCDMA_GSM5LTE+WCDMA+GSM network mode.
PREFERRED_NETWORK_MODE_WCDMA_GSM6WCDMA+GSM network mode.
PREFERRED_NETWORK_MODE_CDMA7CDMA network mode.
PREFERRED_NETWORK_MODE_EVDO8EVDO network mode.
PREFERRED_NETWORK_MODE_EVDO_CDMA9EVDO+CDMA network mode.
PREFERRED_NETWORK_MODE_WCDMA_GSM_EVDO_CDMA10WCDMA+GSM+EVDO+CDMA network mode.
PREFERRED_NETWORK_MODE_LTE_EVDO_CDMA11LTE+EVDO+CDMA network mode.
PREFERRED_NETWORK_MODE_LTE_WCDMA_GSM_EVDO_CDMA12LTE+WCDMA+GSM+EVDO+CDMA network mode.
PREFERRED_NETWORK_MODE_TDSCDMA13TD-SCDMA network mode.
PREFERRED_NETWORK_MODE_TDSCDMA_GSM14TD-SCDMA+GSM network mode.
PREFERRED_NETWORK_MODE_TDSCDMA_WCDMA15TD-SCDMA+WCDMA network mode.
PREFERRED_NETWORK_MODE_TDSCDMA_WCDMA_GSM16TD-SCDMA+WCDMA+GSM network mode.
PREFERRED_NETWORK_MODE_LTE_TDSCDMA17LTE+TD-SCDMA network mode.
PREFERRED_NETWORK_MODE_LTE_TDSCDMA_GSM18LTE+TD-SCDMA+GSM network mode.
PREFERRED_NETWORK_MODE_LTE_TDSCDMA_WCDMA19LTE+TD-SCDMA+WCDMA network mode.
PREFERRED_NETWORK_MODE_LTE_TDSCDMA_WCDMA_GSM20LTE+TD-SCDMA+WCDMA+GSM network mode.
PREFERRED_NETWORK_MODE_TDSCDMA_WCDMA_GSM_EVDO_CDMA21TD-SCDMA+WCDMA+GSM+EVDO+CDMA network mode.
PREFERRED_NETWORK_MODE_LTE_TDSCDMA_WCDMA_GSM_EVDO_CDMA22LTE+TD-SCDMA+WCDMA+GSM+EVDO+CDMA network mode.
PREFERRED_NETWORK_MODE_NR31NR network mode.
PREFERRED_NETWORK_MODE_NR_LTE32NR+LTE network mode.
PREFERRED_NETWORK_MODE_NR_LTE_WCDMA33NR+LTE+WCDMA network mode.
PREFERRED_NETWORK_MODE_NR_LTE_WCDMA_GSM34NR+LTE+WCDMA+GSM network mode.
PREFERRED_NETWORK_MODE_NR_LTE_EVDO_CDMA35NR+LTE+EVDO+CDMA network mode.
PREFERRED_NETWORK_MODE_NR_LTE_WCDMA_GSM_EVDO_CDMA36NR+LTE+WCDMA+GSM+EVDO+CDMA network mode.
PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA37NR+LTE+TD-SCDMA network mode.
PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA_GSM38NR+LTE+TD-SCDMA+GSM network mode.
PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA39NR+LTE+TD-SCDMA+WCDMA network mode.
PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA_GSM40NR+LTE+TD-SCDMA+WCDMA+GSM network mode.
PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA_GSM_EVDO_CDMA41NR+LTE+TD-SCDMA+WCDMA+GSM network mode.
PREFERRED_NETWORK_MODE_MAX_VALUE99Maximum value of the preferred network mode.

CellInformation8+

Defines the cell information.

System capability: SystemCapability.Telephony.CoreService

NameTypeMandatoryDescription
networkTypeNetworkTypeYesNetwork type of the cell.
isCampedbooleanYesCell status.
System API: This is a system API.
timeStampnumberYesTimestamp when cell information is obtained.
System API: This is a system API.
signalInformationSignalInformationYesSignal information.
dataCdmaCellInformation |GsmCellInformation |LteCellInformation |NrCellInformation |TdscdmaCellInformationYesCDMA cell information|GSM cell information|LTE cell information|NR cell information|TD-SCDMA cell information
System API: This is a system API.

CdmaCellInformation8+

Defines the CDMA cell information.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

NameTypeMandatoryDescription
baseIdnumberYesBase station ID.
latitudenumberYesLongitude.
longitudenumberYesLatitude.
nidnumberYesNetwork ID.
sidnumberYesSystem ID.

GsmCellInformation8+

Defines the GSM cell information.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

NameTypeMandatoryDescription
lacnumberYesLocation area code.
cellIdnumberYesCell ID.
arfcnnumberYesAbsolute radio frequency channel number.
bsicnumberYesBase station ID.
mccstringYesMobile country code.
mncstringYesMobile network code.

LteCellInformation8+

LTE cell information.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

NameTypeMandatoryDescription
cginumberYesCell global identification.
pcinumberYesPhysical cell ID.
tacnumberYesTracking area code.
earfcnnumberYesAbsolute radio frequency channel number.
bandwidthnumberYesBandwidth.
mccstringYesMobile country code.
mncstringYesMobile network code.
isSupportEndcbooleanYesSupport for New Radio_Dual Connectivity.

NrCellInformation8+

Defines the 5G NR cell information.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

NameTypeMandatoryDescription
nrArfcnnumberYes5G frequency number.
pcinumberYesPhysical cell ID.
tacnumberYesTracking area code.
ncinumberYes5G network cell ID.
mccstringYesMobile country code.
mncstringYesMobile network code.

TdscdmaCellInformation8+

Defines the TD-SCDMA cell information.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

NameTypeMandatoryDescription
lacnumberYesLocation area code.
cellIdnumberYesCell ID.
cpidnumberYesCell parameter ID.
uarfcnnumberYesAbsolute radio frequency number.
mccstringYesMobile country code.
mncstringYesMobile network code.

WcdmaCellInformation8+

Defines the WCDMA cell information.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

NameTypeMandatoryDescription
lacnumberYesLocation area code.
cellIdnumberYesCell ID.
pscnumberYesPrimary scrambling code.
uarfcnnumberYesAbsolute radio frequency number.
mccstringYesMobile country code.
mncstringYesMobile network code.

NrOptionMode(deprecated)

Enumerates NR selection modes.

NOTE

This API is supported since API version 8 and deprecated since API version 10. You are advised to use NROptionMode.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

NameValueDescription
NR_OPTION_UNKNOWN0Unknown NR selection mode.
NR_OPTION_NSA_ONLY1NR selection mode in 5G non-standalone networking.
NR_OPTION_SA_ONLY2NR selection mode in 5G non-standalone networking.
NR_OPTION_NSA_AND_SA3NR selection mode in non-standalone and standalone networking.

NROptionMode10+

Enumerates NR selection modes.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

NameValueDescription
NR_OPTION_UNKNOWN0Unknown NR selection mode.
NR_OPTION_NSA_ONLY1NR selection mode in 5G non-standalone networking.
NR_OPTION_SA_ONLY2NR selection mode in 5G non-standalone networking.
NR_OPTION_NSA_AND_SA3NR selection mode in non-standalone and standalone networking.

NetworkSearchResult

Defines the network search result.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

NameTypeMandatoryDescription
isNetworkSearchSuccessbooleanYesSuccessful network search.
networkSearchResultArray<NetworkInformation>YesNetwork search result.

NetworkInformation

Defines the network information.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

NameTypeMandatoryDescription
operatorNamestringYesCarrier name.
operatorNumericstringYesCarrier number.
stateNetworkInformationStateYesNetwork information status.
radioTechstringYesRadio access technology.

NetworkInformationState

Enumerates network information states.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

NameValueDescription
NETWORK_UNKNOWN0Unknown state.
NETWORK_AVAILABLE1Available for registration.
NETWORK_CURRENT2Registered state.
NETWORK_FORBIDDEN3Unavailable for registration.

NetworkSelectionModeOptions

Defines the network selection mode.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

NameTypeMandatoryDescription
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
selectModeNetworkSelectionModeYesNetwork selection mode.
networkInformationNetworkInformationYesNetwork information.
resumeSelectionbooleanYesWhether to resume selection.

ImsRegState9+

Enumerates IMS registration states.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

NameValueDescription
IMS_UNREGISTERED0Not registered.
IMS_REGISTERED1Registered.

ImsRegTech9+

Enumerates IMS registration technologies.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

NameValueDescription
REGISTRATION_TECH_NONE0None.
REGISTRATION_TECH_LTE1LTE.
REGISTRATION_TECH_IWLAN2I-WLAN.
REGISTRATION_TECH_NR3NR.

ImsRegInfo9+

Defines the IMS registration information.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

NameTypeMandatoryDescription
imsRegStateImsRegStateYesIMS registration state.
imsRegTechImsRegTechYesIMS registration technology.

ImsServiceType9+

Enumerates IMS service types.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

NameValueDescription
TYPE_VOICE0Voice service.
TYPE_VIDEO1Video service.
TYPE_UT2UT service.
TYPE_SMS3SMS service.

NetworkCapabilityType10+

Enumerates network capability types.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

NameValueDescription
SERVICE_TYPE_LTE0LTE service.
SERVICE_TYPE_NR1NR service.

NetworkCapabilityState10+

Defines the network capability switch status.

System API: This is a system API.

System capability: SystemCapability.Telephony.CoreService

NameValueDescription
SERVICE_CAPABILITY_OFF0The network capability is disabled.
SERVICE_CAPABILITY_ON1The network capability is enabled.

你可能感兴趣的鸿蒙文章

harmony 鸿蒙APIs

harmony 鸿蒙System Common Events (To Be Deprecated Soon)

harmony 鸿蒙System Common Events

harmony 鸿蒙API Reference Document Description

harmony 鸿蒙Enterprise Device Management Overview (for System Applications Only)

harmony 鸿蒙BundleStatusCallback

harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager)

harmony 鸿蒙@ohos.distributedBundle (Distributed Bundle Management)

harmony 鸿蒙@ohos.bundle (Bundle)

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (EnterpriseAdminExtensionAbility)

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/682180ad201d4831a3675644609d314a