# @ohos.telephony.call (拨打电话)
该模块提供呼叫管理功能,包括拨打电话、跳转到拨号界面、获取通话状态、格式化电话号码等。
如需订阅通话状态请使用[`observer.on('callStateChange')`](js-apis-observer.md#observeroncallstatechange)。
>**说明:**
>
>本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```js
import call from '@ohos.telephony.call';
```
## call.dialCall9+
dialCall\(phoneNumber: string, callback: AsyncCallback\\): void
拨打电话。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.PLACE_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ---------------------------- | ---- | -------------------------------------- |
| phoneNumber | string | 是 | 电话号码。 |
| callback | AsyncCallback<void> | 是 | 以callback形式异步返回拨打电话的结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.dialCall("138xxxxxxxx", (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.dialCall9+
dialCall\(phoneNumber: string, options: DialCallOptions, callback: AsyncCallback\\): void
拨打电话,可设置通话参数。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.PLACE_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ----------------------------------- | ---- | ----------------------------------- |
| phoneNumber | string | 是 | 电话号码。 |
| options | [DialCallOptions](#dialcalloptions9)| 是 | 通话参数,携带呼叫的其他配置信息。 |
| callback | AsyncCallback<void> | 是 | 以callback形式异步返回拨打电话的结果。|
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.dialCall("138xxxxxxxx", {
accountId: 0,
videoState: 0,
dialScene: 0,
dialType: 0,
}, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.dialCall9+
dialCall\(phoneNumber: string, options?: DialCallOptions\): Promise\
拨打电话,可设置通话参数。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.PLACE_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ----------------------------------- | ---- | -------------------------------------- |
| phoneNumber | string | 是 | 电话号码。 |
| options | [DialCallOptions](#dialcalloptions9)| 否 | 通话参数,携带呼叫的其他配置信息。
不填该参数则默认使用如下配置,参考[DialCallOptions](#dialcalloptions9)。
- 帐户Id:卡槽1
- 音视频类型:语音通话
- 拨号场景:普通呼叫
- 拨号类型:运营商通话 |
**返回值:**
| 类型 | 说明 |
| ---------------------- | ---------------------------- |
| Promise<void> | 以Promise形式异步返回拨号结果。|
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = call.dialCall("138xxxxxxxx", {
accountId: 0,
videoState: 0,
dialScene: 0,
dialType: 0,
});
promise.then(() => {
console.log(`dialCall success.`);
}).catch((err) => {
console.error(`dialCall fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.dial(deprecated)
dial\(phoneNumber: string, callback: AsyncCallback\\): void
拨打电话。使用callback异步回调。
> **说明:**
>
> 从API version 6 开始支持,从API version 9 开始废弃。请使用[dialCall](#calldialcall9)替代,替代接口能力仅对系统应用开放。
**需要权限**:ohos.permission.PLACE_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ---------------------------- | ---- | --------------------------------------- |
| phoneNumber | string | 是 | 电话号码。 |
| callback | AsyncCallback<boolean> | 是 | 回调函数,返回true为成功,false为失败。 |
**示例:**
```js
call.dial("138xxxxxxxx", (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## call.dial(deprecated)
dial\(phoneNumber: string, options: DialOptions, callback: AsyncCallback\\): void
拨打电话,可设置通话参数。使用callback异步回调。
> **说明:**
>
> 从API version 6 开始支持,从API version 9 开始废弃。请使用[dialCall](#calldialcall9)替代,替代接口能力仅对系统应用开放。
**需要权限**:ohos.permission.PLACE_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ---------------------------- | ---- | --------------------------------------- |
| phoneNumber | string | 是 | 电话号码。 |
| options | [DialOptions](#dialoptions) | 是 | 通话参数,选择为语音通话还是视频通话。 |
| callback | AsyncCallback<boolean> | 是 | 回调函数,返回true为成功,false为失败。 |
**示例:**
```js
call.dial("138xxxxxxxx", {
extras: false
}, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## call.dial(deprecated)
dial\(phoneNumber: string, options?: DialOptions\): Promise\
拨打电话,可设置通话参数。使用Promise异步回调。
> **说明:**
>
> 从API version 6 开始支持,从API version 9 开始废弃。请使用[dialCall](#calldialcall9)替代,替代接口能力仅对系统应用开放。
**需要权限**:ohos.permission.PLACE_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | --------------------------- | ---- | -------------------------------------- |
| phoneNumber | string | 是 | 电话号码。 |
| options | [DialOptions](#dialoptions) | 否 | 通话参数,选择为语音通话还是视频通话。 |
**返回值:**
| 类型 | 说明 |
| ---------------------- | ------------------------------------------------------------ |
| Promise<boolean> | 以Promise形式返回拨打电话的结果,返回true为成功,false为失败。 |
**示例:**
```js
let promise = call.dial("138xxxxxxxx", {
extras: false
});
promise.then(data => {
console.log(`dial success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`dial fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.makeCall7+
makeCall\(phoneNumber: string, callback: AsyncCallback\\): void
跳转到拨号界面,并显示待拨出的号码。使用callback异步回调。
**系统能力**:SystemCapability.Applications.Contacts
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------------------------- | ---- | ------------------------------------------ |
| phoneNumber | string | 是 | 电话号码。 |
| callback | AsyncCallback<void> | 是 | 以callback形式异步返回跳转拨号界面的结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.makeCall("138xxxxxxxx", err => {
console.log(`makeCall callback: err->${JSON.stringify(err)}`);
});
```
## call.makeCall7+
makeCall\(phoneNumber: string\): Promise\
跳转到拨号界面,并显示待拨出的号码。使用Promise异步回调。
**系统能力**:SystemCapability.Applications.Contacts
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------ | ---- | ---------- |
| phoneNumber | string | 是 | 电话号码。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------------- |
| Promise<void> | 以Promise形式异步返回拨号的结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = call.makeCall("138xxxxxxxx");
promise.then(() => {
console.log(`makeCall success`);
}).catch(err => {
console.error(`makeCall fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.hasCall
hasCall\(callback: AsyncCallback\\): void
判断是否存在通话。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| callback | AsyncCallback<boolean> | 是 | 回调函数。返回true表示当前存在通话,false表示当前不存在通话。 |
**示例:**
```js
call.hasCall((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## call.hasCall
hasCall\(\): Promise\
判断是否存在通话。使用Promise异步回调。
**系统能力**:SystemCapability.Telephony.CallManager
**返回值:**
| 类型 | 说明 |
| ---------------------- | --------------------------------------- |
| Promise<boolean> | 以Promise形式异步返回判断是否存在通话。 |
**示例:**
```js
let promise = call.hasCall();
promise.then(data => {
console.log(`hasCall success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`hasCall fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.getCallState
getCallState\(callback: AsyncCallback\\): void
获取当前通话状态。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------------- | ---- | ------------------------------------ |
| callback | AsyncCallback<[CallState](#callstate)> | 是 | 回调函数,异步返回获取到的通话状态。 |
**示例:**
```js
call.getCallState((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## call.getCallState
getCallState\(\): Promise\
获取当前通话状态。使用Promise异步回调。
**系统能力**:SystemCapability.Telephony.CallManager
**返回值:**
| 类型 | 说明 |
| -------------------------------------- | --------------------------------------- |
| Promise<[CallState](#callstate)> | 以Promise形式异步返回获取到的通话状态。 |
**示例:**
```js
let promise = call.getCallState();
promise.then(data => {
console.log(`getCallState success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`getCallState fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.hasVoiceCapability7+
hasVoiceCapability\(\): boolean
检查当前设备是否具备语音通话能力。
**系统能力**:SystemCapability.Telephony.CallManager
**返回值:**
| 类型 | 说明 |
| ------- | ------------------------------------------------------------ |
| boolean | 返回true表示设备具备语音通话能力,返回false表示设备不具备语音通话能力。 |
```js
let result = call.hasVoiceCapability();
console.log(`hasVoiceCapability: ${JSON.stringify(result)}`);
```
## call.isEmergencyPhoneNumber7+
isEmergencyPhoneNumber\(phoneNumber: string, callback: AsyncCallback\\): void
判断是否是紧急电话号码。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| phoneNumber | string | 是 | 电话号码。 |
| callback | AsyncCallback<boolean> | 是 | 回调函数。返回true表示是紧急电话号码,返回false表示不是紧急电话号码。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.isEmergencyPhoneNumber("138xxxxxxxx", (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## call.isEmergencyPhoneNumber7+
isEmergencyPhoneNumber\(phoneNumber: string, options: EmergencyNumberOptions, callback: AsyncCallback\\): void
根据电话号码参数,判断是否是紧急电话号码。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | -------------------------------------------------- | ---- | ------------------------------------------------------------ |
| phoneNumber | string | 是 | 电话号码。 |
| options | [EmergencyNumberOptions](#emergencynumberoptions7) | 是 | 电话号码参数。 |
| callback | AsyncCallback<boolean> | 是 | 回调函数。返回true表示是紧急电话号码,返回false表示不是紧急电话号码。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.isEmergencyPhoneNumber("112", {slotId: 1}, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## call.isEmergencyPhoneNumber7+
isEmergencyPhoneNumber\(phoneNumber: string, options?: EmergencyNumberOptions\): Promise\
根据电话号码参数,判断是否是紧急电话号码。使用Promise异步回调。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | -------------------------------------------------- | ---- | -------------- |
| phoneNumber | string | 是 | 电话号码。 |
| options | [EmergencyNumberOptions](#emergencynumberoptions7) | 否 | 电话号码参数。 |
**返回值:**
| 类型 | 说明 |
| ---------------------- | --------------------------------------------------- |
| Promise<boolean> | 以Promise形式异步返回判断是否是紧急电话号码的结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = call.isEmergencyPhoneNumber("138xxxxxxxx", {slotId: 1});
promise.then(data => {
console.log(`isEmergencyPhoneNumber success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`isEmergencyPhoneNumber fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.formatPhoneNumber7+
formatPhoneNumber\(phoneNumber: string, callback: AsyncCallback\\): void
格式化电话号码。使用callback异步回调。
电话号码格式化后为标准数字字串,例如:“138 xxxx xxxx”、“0755 xxxx xxxx”。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | --------------------------- | ---- | ------------------------------------ |
| phoneNumber | string | 是 | 电话号码。 |
| callback | AsyncCallback<string> | 是 | 回调函数,返回格式化电话号码的结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.formatPhoneNumber("138xxxxxxxx", (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## call.formatPhoneNumber7+
formatPhoneNumber\(phoneNumber: string, options: NumberFormatOptions, callback: AsyncCallback\\): void
格式化电话号码,可设置格式化参数。使用callback异步回调。
电话号码格式化后为标准数字字串,例如:“138 xxxx xxxx”、“0755 xxxx xxxx”。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | -------------------------------------------- | ---- | ------------------------------------ |
| phoneNumber | string | 是 | 电话号码。 |
| options | [NumberFormatOptions](#numberformatoptions7) | 是 | 格式化参数,如国家码。 |
| callback | AsyncCallback<string> | 是 | 回调函数,返回格式化电话号码的结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.formatPhoneNumber("138xxxxxxxx", {
countryCode: "CN"
}, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## call.formatPhoneNumber7+
formatPhoneNumber\(phoneNumber: string, options?: NumberFormatOptions\): Promise\
格式化电话号码,可设置格式化参数。使用Promise异步回调。
电话号码格式化后为标准数字字串,例如:“138 xxxx xxxx”、“0755 xxxx xxxx”。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | -------------------------------------------- | ---- | ---------------------- |
| phoneNumber | string | 是 | 电话号码。 |
| options | [NumberFormatOptions](#numberformatoptions7) | 否 | 格式化参数,如国家码。 |
**返回值:**
| 类型 | 说明 |
| --------------------- | ------------------------------------------- |
| Promise<string> | 以Promise形式异步返回格式化电话号码的结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = call.formatPhoneNumber("138xxxxxxxx", {
countryCode: "CN"
});
promise.then(data => {
console.log(`formatPhoneNumber success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`formatPhoneNumber fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.formatPhoneNumberToE1647+
formatPhoneNumberToE164\(phoneNumber: string, countryCode: string, callback: AsyncCallback\\): void
将电话号码格式化为E.164表示形式。使用callback异步回调。
待格式化的电话号码需要与传入的国家码相匹配,如中国电话号码需要传入国家码CN,否则格式化后的电话号码为null。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | --------------------------- | ---- | ----------------------------------------------------- |
| phoneNumber | string | 是 | 电话号码。 |
| countryCode | string | 是 | 国家码,支持所有国家码,如:中国(CN)。 |
| callback | AsyncCallback<string> | 是 | 回调函数,返回将电话号码格式化为E.164表示形式的结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.formatPhoneNumberToE164("138xxxxxxxx", "CN", (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## call.formatPhoneNumberToE1647+
formatPhoneNumberToE164\(phoneNumber: string, countryCode: string\): Promise\
将电话号码格式化为E.164表示形式。使用Promise异步回调。
待格式化的电话号码需要与传入的国家码相匹配,如中国电话号码需要传入国家码CN,否则格式化后的电话号码为null。
支持所有国家码。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------ | ---- | ---------------------------------------- |
| phoneNumber | string | 是 | 电话号码。 |
| countryCode | string | 是 | 国家码,支持所有国家码,如:中国(CN)。 |
**返回值:**
| 类型 | 说明 |
| --------------------- | ------------------------------------------------------------ |
| Promise<string> | 以Promise形式异步返回将电话号码格式化为E.164表示形式的结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = call.formatPhoneNumberToE164("138xxxxxxxx", "CN");
promise.then(data => {
console.log(`formatPhoneNumberToE164 success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`formatPhoneNumberToE164 fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.muteRinger8+
muteRinger\(callback: AsyncCallback\\): void
如果来电铃声响起,设备将停止铃声。否则,此方法不起作用。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.muteRinger((err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.muteRinger8+
muteRinger\(\): Promise\
如果来电铃声响起,设备将停止铃声。否则,此方法不起作用。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.muteRinger().then(() => {
console.log(`muteRinger success.`);
}).catch((err) => {
console.error(`muteRinger fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.answerCall9+
answerCall\(callId: number, callback: AsyncCallback\\): void
接听来电。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.ANSWER_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ----------------------------------------------- |
| callId | number | 是 | 呼叫Id。可以通过订阅callDetailsChange事件获得。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.answerCall(1, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.answerCall9+
answerCall(callId?: number\): Promise\
接听来电。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.ANSWER_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------------------------------------------------ |
| callId | number | 否 | 呼叫Id。可以通过订阅callDetailsChange事件获得。从API Version 9开始为可选参数。
不填该参数则接通最近一通正在响铃的来电。|
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.answerCall(1).then(() => {
console.log(`answerCall success.`);
}).catch((err) => {
console.error(`answerCall fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.answerCall9+
answerCall\(callback: AsyncCallback\\): void
接听来电。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.ANSWER_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.answerCall((err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.hangUpCall9+
hangUpCall\(callId: number, callback: AsyncCallback\\): void
挂断电话。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.ANSWER_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ----------------------------------------------- |
| callId | number | 是 | 呼叫id。可以通过订阅callDetailsChange事件获得。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.hangUpCall(1, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.hangUpCall9+
hangUpCall\(callId?: number\): Promise\
挂断电话。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.ANSWER_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------------------------------------------------ |
| callId | number | 否 | 呼叫id。可以通过订阅callDetailsChange事件获得。从API Version 9开始为可选参数。不填该参数则挂断最近一通正在进行/拨号/连接的通话。|
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.hangUpCall(1).then(() => {
console.log(`hangUpCall success.`);
}).catch((err) => {
console.error(`hangUpCall fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.hangUpCall9+
hangUpCall\(callback: AsyncCallback\\): void
挂断电话。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.ANSWER_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.hangUpCall((err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.rejectCall9+
rejectCall\(callId: number, callback: AsyncCallback\\): void
拒绝来电。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.ANSWER_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ----------------------------------------------- |
| callId | number | 是 | 呼叫Id。可以通过订阅callDetailsChange事件获得。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.rejectCall(1, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.rejectCall9+
rejectCall\(callId: number, options: RejectMessageOptions, callback: AsyncCallback\\): void
拒绝来电。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.ANSWER_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------------- | ---- | ----------------------------------------------- |
| callId | number | 是 | 呼叫Id。可以通过订阅callDetailsChange事件获得。 |
| options | [RejectMessageOptions](#rejectmessageoptions7) | 是 | 拒绝消息选项。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let rejectMessageOptions={
messageContent: "拦截陌生号码"
}
call.rejectCall(1, rejectMessageOptions, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.rejectCall9+
rejectCall\(callId?: number, options?: RejectMessageOptions\): Promise\
拒绝来电。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.ANSWER_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ---------------------------------------------- | ---- | ------------------------------------------------------------ |
| callId | number | 否 | 呼叫Id。可以通过订阅callDetailsChange事件获得。从API Version 9开始为可选参数。
不填该参数则拒接最近一通正在响铃的来电。|
| options | [RejectMessageOptions](#rejectmessageoptions7) | 否 | 拒绝消息选项。不填该参数则不会发送拒接短信。|
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let rejectMessageOptions={
messageContent: "拦截陌生号码"
}
call.rejectCall(1, rejectMessageOptions).then(() => {
console.log(`rejectCall success.`);
}).catch((err) => {
console.error(`rejectCall fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.rejectCall9+
rejectCall\(callback: AsyncCallback\\): void
拒绝来电。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.ANSWER_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.rejectCall((err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.rejectCall9+
rejectCall\(options: RejectMessageOptions, callback: AsyncCallback\\): void
拒绝来电。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.ANSWER_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------------- | ---- | -------------- |
| options | [RejectMessageOptions](#rejectmessageoptions7) | 是 | 拒绝消息选项。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let rejectMessageOptions={
messageContent: "拦截陌生号码"
}
call.rejectCall(rejectMessageOptions, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.holdCall7+
holdCall\(callId: number, callback: AsyncCallback\\): void
保持通话。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.ANSWER_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| callId | number | 是 | 呼叫Id。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.holdCall(1, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.holdCall7+
holdCall\(callId: number\): Promise\
保持通话。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.ANSWER_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------- |
| callId | number | 是 | 呼叫Id。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.holdCall(1).then(() => {
console.log(`holdCall success.`);
}).catch((err) => {
console.error(`holdCall fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.unHoldCall7+
unHoldCall\(callId: number, callback: AsyncCallback\\): void
取消保持通话。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.ANSWER_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| callId | number | 是 | 呼叫Id。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.unHoldCall(1, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.unHoldCall7+
unHoldCall\(callId: number\): Promise\
取消保持通话。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.ANSWER_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------- |
| callId | number | 是 | 呼叫Id。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.unHoldCall(1).then(() => {
console.log(`unHoldCall success.`);
}).catch((err) => {
console.error(`unHoldCall fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.switchCall7+
switchCall\(callId: number, callback: AsyncCallback\\): void
切换呼叫。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.ANSWER_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| callId | number | 是 | 呼叫Id。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.switchCall(1, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.switchCall7+
switchCall\(callId: number\): Promise\
切换呼叫。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.ANSWER_CALL
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------- |
| callId | number | 是 | 呼叫Id。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.switchCall(1).then(() => {
console.log(`switchCall success.`);
}).catch((err) => {
console.error(`switchCall fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.combineConference7+
combineConference\(callId: number, callback: AsyncCallback\\): void
合并通话,将两通电话合并成会议电话。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| callId | number | 是 | 呼叫Id。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
call.combineConference(1, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.combineConference7+
combineConference\(callId: number\): Promise\
合并通话,将两通电话合并成会议电话。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------- |
| callId | number | 是 | 呼叫Id。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
call.combineConference(1).then(() => {
console.log(`combineConference success.`);
}).catch((err) => {
console.error(`combineConference fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.getMainCallId7+
getMainCallId\(callId: number, callback: AsyncCallback\\): void
获取主呼叫Id。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | ------------------------ |
| callId | number | 是 | 呼叫Id。 |
| callback | AsyncCallback<number> | 是 | 回调函数。返回主呼叫Id。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
call.getMainCallId(1, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## call.getMainCallId7+
getMainCallId\(callId: number\): Promise\
获取主呼叫Id。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------- |
| callId | number | 是 | 呼叫Id。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ------------------------------- |
| Promise<void> | 以Promise形式异步返回主呼叫Id。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
let promise = call.getMainCallId(1);
promise.then(data => {
console.log(`getMainCallId success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`getMainCallId fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.getSubCallIdList7+
getSubCallIdList\(callId: number, callback: AsyncCallback\\>\): void
获取子呼叫Id列表。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------ | ---- | ---------------------------- |
| callId | number | 是 | 呼叫Id。 |
| callback | AsyncCallback\> | 是 | 回调函数。返回子呼叫Id列表。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
call.getSubCallIdList(1, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## call.getSubCallIdList7+
getSubCallIdList\(callId: number\): Promise\\>
获取子呼叫Id列表。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------- |
| callId | number | 是 | 呼叫Id。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------- | ----------------------------------- |
| Promise<Array> | 以Promise形式异步返回子呼叫Id列表。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
let promise = call.getSubCallIdList(1);
promise.then(data => {
console.log(`getSubCallIdList success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`getSubCallIdList fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.getCallIdListForConference7+
getCallIdListForConference\(callId: number, callback: AsyncCallback\\>\): void
获取会议的呼叫Id列表。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | ---- | -------------------------------- |
| callId | number | 是 | 呼叫Id。 |
| callback | AsyncCallback<Array> | 是 | 回调函数。返回会议的呼叫Id列表。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
call.getCallIdListForConference(1, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## call.getCallIdListForConference7+
getCallIdListForConference\(callId: number\): Promise\\>
获取会议的呼叫Id列表。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------- |
| callId | number | 是 | 呼叫Id。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------- | --------------------------------------- |
| Promise<Array> | 以Promise形式异步返回会议的呼叫Id列表。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
let promise = call.getCallIdListForConference(1);
promise.then(data => {
console.log(`getCallIdListForConference success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`getCallIdListForConference fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.getCallWaitingStatus7+
getCallWaitingStatus\(slotId: number, callback: AsyncCallback\\): void
获取呼叫等待状态。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback<[CallWaitingStatus](#callwaitingstatus7)\> | 是 | 回调函数。
返回呼叫等待状态。
- 0:禁用呼叫等待
- 1:启用呼叫等待 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
call.getCallWaitingStatus(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## call.getCallWaitingStatus7+
getCallWaitingStatus\(slotId: number\): Promise\
获取呼叫等待状态。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------------------- | ------------------------------------------------------------ |
| Promise<[CallWaitingStatus](#callwaitingstatus7)> | 以Promise形式异步返回呼叫等待状态。
- 0:禁用呼叫等待
- 1:启用呼叫等待 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
let promise = call.getCallWaitingStatus(0);
promise.then(data => {
console.log(`getCallWaitingStatus success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`getCallWaitingStatus fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.setCallWaiting7+
setCallWaiting\(slotId: number, activate: boolean, callback: AsyncCallback\\): void
设置呼叫等待。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | ------------------------------------------------------------ |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| activate | boolean | 是 | 呼叫等待是否处于启用状态。
- false:禁用呼叫等待
- true:启用呼叫等待 |
| callback | AsyncCallback | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
call.setCallWaiting(0, true, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.setCallWaiting7+
setCallWaiting\(slotId: number, activate: boolean\): Promise\
设置呼叫等待。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------- | ---- | ------------------------------------------------------------ |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| activate | boolean | 是 | 呼叫等待是否处于启用状态。
- false:禁用呼叫等待
- true:启用呼叫等待 |
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
call.setCallWaiting(0, true).then(() => {
console.log(`setCallWaiting success.`);
}).catch((err) => {
console.error(`setCallWaiting fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.startDTMF7+
startDTMF\(callId: number, character: string, callback: AsyncCallback\\): void
启动双音多频。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | -------------------- | ---- | ---------- |
| callId | number | 是 | 呼叫Id。 |
| character | string | 是 | DTMF码。 |
| callback | AsyncCallback | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
call.startDTMF(1, "0", (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.startDTMF7+
startDTMF\(callId: number, character: string\): Promise\
启动双音多频。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------ | ---- | -------- |
| callId | number | 是 | 呼叫Id。 |
| character | string | 是 | DTMF码。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ----------------------- |
| Promise<void> | 以Promise形式异步返回。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
call.startDTMF(1, "0").then(() => {
console.log(`startDTMF success.`);
}).catch((err) => {
console.error(`startDTMF fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.stopDTMF7+
stopDTMF\(callId: number, callback: AsyncCallback\\): void
停止双音多频。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| callId | number | 是 | 呼叫Id。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
call.stopDTMF(1, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.stopDTMF7+
stopDTMF\(callId: number\): Promise\
停止双音多频。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------- |
| callId | number | 是 | 呼叫Id。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
call.stopDTMF(1).then(() => {
console.log(`stopDTMF success.`);
}).catch((err) => {
console.error(`stopDTMF fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.isInEmergencyCall7+
isInEmergencyCall\(callback: AsyncCallback\\): void
判断是否正在处于紧急呼叫。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | ---------- |
| callback | AsyncCallback<boolean> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.isInEmergencyCall((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## call.isInEmergencyCall7+
isInEmergencyCall\(\): Promise\
判断是否正在处于紧急呼叫。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**返回值:**
| 类型 | 说明 |
| ---------------------- | --------------------------- |
| Promise<boolean> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = call.isInEmergencyCall();
promise.then(data => {
console.log(`isInEmergencyCall success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`isInEmergencyCall fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.on('callDetailsChange')7+
on\(type: 'callDetailsChange', callback: Callback\\): void
订阅callDetailsChange事件。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------- | ---- | -------------------------- |
| type | string | 是 | 通话时监听通话详情的变化,参数固定为'callDetailsChange'。 |
| callback | Callback<[CallAttributeOptions](#callattributeoptions7)> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.on('callDetailsChange', data => {
console.log(`callback: data->${JSON.stringify(data)}`);
});
```
## call.on('callEventChange')8+
on\(type: 'callEventChange', callback: Callback\\): void
订阅callEventChange事件。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------ | ---- | -------------------------- |
| type | string | 是 | 通话时监听通话事件的变化,参数固定为'callEventChange'。 |
| callback | Callback<[CallEventOptions](#calleventoptions8)> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.on('callEventChange', data => {
console.log(`callback: data->${JSON.stringify(data)}`);
});
```
## call.on('callDisconnectedCause')8+
on\(type: 'callDisconnectedCause', callback: Callback\\): void
订阅callDisconnectedCause事件。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------ | ---- | -------------------------- |
| type | string | 是 | 通话时监听断开连接的原因,参数固定为'callDisconnectedCause'。 |
| callback | Callback<[DisconnectedDetails](#disconnecteddetails9)> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.on('callDisconnectedCause', data => {
console.log(`callback: data->${JSON.stringify(data)}`);
});
```
## call.on('mmiCodeResult')9+
on\(type: 'mmiCodeResult', callback: Callback\\): void
订阅mmiCodeResult事件。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------------- | ---- | --------------------- |
| type | string | 是 | 通话时监听MMI码结果,参数固定为'mmiCodeResult'。 |
| callback | Callback<[MmiCodeResults](#mmicoderesults9)> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.on('mmiCodeResult', data => {
console.log(`callback: data->${JSON.stringify(data)}`);
});
```
## call.off('callDetailsChange')7+
off\(type: 'callDetailsChange', callback?: Callback\\): void
取消订阅callDetailsChange事件。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------------------------- | ---- | ---------------------------------- |
| type | string | 是 | 通话结束时取消监听通话详情的变化,参数固定为'callDetailsChange'。 |
| callback | Callback<[CallAttributeOptions](#callattributeoptions7)> | 否 | 回调函数。不填该参数将不会收到取消订阅的处理结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.off('callDetailsChange', data => {
console.log(`callback: data->${JSON.stringify(data)}`);
});
```
## call.off('callEventChange')8+
off\(type: 'callEventChange', callback?: Callback\\): void
取消订阅callEventChange事件。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------ | ---- | ---------------------------------- |
| type | string | 是 | 通话结束时取消监听通话事件的变化,参数固定为'callEventChange'。 |
| callback | Callback<[CallEventOptions](#calleventoptions8)> | 否 | 回调函数。不填该参数将不会收到取消订阅的处理结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.off('callEventChange', data => {
console.log(`callback: data->${JSON.stringify(data)}`);
});
```
## call.off('callDisconnectedCause')8+
off\(type: 'callDisconnectedCause', callback?: Callback\\): void
取消订阅callDisconnectedCause事件。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------------------------- | ---- | ------------------- |
| type | string | 是 | 调用断开连接的原因,参数固定为'callDisconnectedCause'。 |
| callback | Callback<[DisconnectedDetails](#disconnecteddetails9)> | 否 | 回调函数。不填该参数将不会收到取消订阅的处理结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.off('callDisconnectedCause', data => {
console.log(`callback: data->${JSON.stringify(data)}`);
});
```
## call.off('mmiCodeResult')9+
off\(type: 'mmiCodeResult', callback?: Callback\\): void
取消订阅mmiCodeResult事件。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------ | ---- | ----------- |
| type | string | 是 | MMI码结果,参数固定为'mmiCodeResult'。 |
| callback | Callback<[MmiCodeResults](#mmicoderesults9)> | 否 | 回调函数。不填该参数将不会收到取消订阅的处理结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.off('mmiCodeResult', data => {
console.log(`callback: data->${JSON.stringify(data)}`);
});
```
## call.isNewCallAllowed8+
isNewCallAllowed\(callback: AsyncCallback\\): void
判断是否允许再拨打一通新电话。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | ---------- |
| callback | AsyncCallback<boolean> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.isNewCallAllowed((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## call.isNewCallAllowed8+
isNewCallAllowed\(\): Promise\
判断是否允许再拨打一通新电话。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**返回值:**
| 类型 | 说明 |
| ---------------------- | --------------------------- |
| Promise<boolean> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = call.isNewCallAllowed();
promise.then(data => {
console.log(`isNewCallAllowed success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`isNewCallAllowed fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.separateConference8+
separateConference\(callId: number, callback: AsyncCallback\\): void
分离会议电话。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| callId | number | 是 | 呼叫Id。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.separateConference(1, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.separateConference8+
separateConference\(callId: number\): Promise\
分离会议电话。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------- |
| callId | number | 是 | 呼叫Id。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.separateConference(1).then(() => {
console.log(`separateConference success.`);
}).catch((err) => {
console.error(`separateConference fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.getCallRestrictionStatus8+
getCallRestrictionStatus\(slotId: number, type: CallRestrictionType, callback: AsyncCallback\\): void
获取呼叫限制状态。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| type | [CallRestrictionType](#callrestrictiontype8) | 是 | 呼叫限制类型。 |
| callback | AsyncCallback<[RestrictionStatus](#restrictionstatus8)> | 是 | 回调函数。返回限制状态。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
call.getCallRestrictionStatus(0, 1, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## call.getCallRestrictionStatus8+
getCallRestrictionStatus\(slotId: number, type: CallRestrictionType\): Promise\
获取呼叫限制状态。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | -------------------------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| type | [CallRestrictionType](#callrestrictiontype8) | 是 | 呼叫限制类型。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------------------- | --------------------------- |
| Promise<[RestrictionStatus](#restrictionstatus8)> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
let promise = call.getCallRestrictionStatus(0, 1);
promise.then(data => {
console.log(`getCallRestrictionStatus success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`getCallRestrictionStatus fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.setCallRestriction8+
setCallRestriction\(slotId: number, info: CallRestrictionInfo, callback: AsyncCallback\\): void
设置呼叫限制状态。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| info | [CallRestrictionInfo](#callrestrictioninfo8) | 是 | 呼叫限制信息。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
let callRestrictionInfo={
type: 1,
password: "123456",
mode: 1
}
call.setCallRestriction(0, callRestrictionInfo, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.setCallRestriction8+
setCallRestriction\(slotId: number, info: CallRestrictionInfo\): Promise\
设置呼叫限制状态。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | -------------------------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| info | [CallRestrictionInfo](#callrestrictioninfo8) | 是 | 呼叫限制信息。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
let callRestrictionInfo={
type: 1,
password: "123456",
mode: 1
}
call.setCallRestriction(0, callRestrictionInfo).then(() => {
console.log(`setCallRestriction success.`);
}).catch((err) => {
console.error(`setCallRestriction fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.getCallTransferInfo8+
getCallTransferInfo\(slotId: number, type: CallTransferType, callback: AsyncCallback\\): void
获取呼叫转移信息。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| type | [CallTransferType](#calltransfertype8) | 是 | 呼叫转移类型。 |
| callback | AsyncCallback<[CallTransferResult](#calltransferresult8)> | 是 | 回调函数。返回呼叫转移信息。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
call.getCallTransferInfo(0, call.CallTransferType.TRANSFER_TYPE_BUSY, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## call.getCallTransferInfo8+
getCallTransferInfo\(slotId: number, type: CallTransferType\): Promise\
获取呼叫转移信息。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | -------------------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| type | [CallTransferType](#calltransfertype8) | 是 | 呼叫转移类型。 |
**返回值:**
| 类型 | 说明 |
| --------------------------------------------------------- | --------------------------- |
| Promise<[CallTransferResult](#calltransferresult8)> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
let promise = call.getCallTransferInfo(0, call.CallTransferType.TRANSFER_TYPE_BUSY);
promise.then(data => {
console.log(`getCallTransferInfo success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`getCallTransferInfo fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.setCallTransfer8+
setCallTransfer\(slotId: number, info: CallTransferInfo, callback: AsyncCallback\\): void
设置呼叫转移信息。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| info | [CallTransferInfo](#calltransferinfo8) | 是 | 呼叫转移信息。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
let callTransferInfo={
transferNum: "111",
type: 1,
settingType: 1
}
call.setCallTransfer(0, callTransferInfo, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.setCallTransfer8+
setCallTransfer\(slotId: number, info: CallTransferInfo\): Promise\
设置呼叫转移信息。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| info | [CallTransferInfo](#calltransferinfo8) | 是 | 呼叫转移信息。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
**示例:**
```js
let callTransferInfo={
transferNum: "111",
type: 1,
settingType: 1
}
call.setCallTransfer(0, callTransferInfo).then(() => {
console.log(`setCallTransfer success.`);
}).catch((err) => {
console.error(`setCallTransfer fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.isRinging8+
isRinging\(callback: AsyncCallback\\): void
判断是否正在响铃。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | ---------- |
| callback | AsyncCallback<boolean> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.isRinging((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## call.isRinging8+
isRinging\(\): Promise\
判断是否正在响铃。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**返回值:**
| 类型 | 说明 |
| ---------------------- | --------------------------- |
| Promise<boolean> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = call.isRinging();
promise.then(data => {
console.log(`isRinging success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`isRinging fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.setMuted8+
setMuted\(callback: AsyncCallback\\): void
设置通话中的静音。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.setMuted((err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.setMuted8+
setMuted\(\): Promise\
设置通话中的静音。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.setMuted().then(() => {
console.log(`setMuted success.`);
}).catch((err) => {
console.error(`setMuted fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.cancelMuted8+
cancelMuted\(callback: AsyncCallback\\): void
取消通话中的静音。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.cancelMuted((err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.cancelMuted8+
cancelMuted\(\): Promise\
取消通话中的静音。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.cancelMuted().then(() => {
console.log(`cancelMuted success.`);
}).catch((err) => {
console.error(`cancelMuted fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.setAudioDevice8+
setAudioDevice\(device: AudioDevice, callback: AsyncCallback\\): void
设置通话音频设备。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | ---------- |
| device | [AudioDevice](#audiodevice8) | 是 | 音频设备。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.setAudioDevice(1, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.setAudioDevice9+
setAudioDevice\(device: AudioDevice, options: AudioDeviceOptions, callback: AsyncCallback\\): void
设置通话音频设备。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------ | ---- | -------------- |
| device | [AudioDevice](#audiodevice8) | 是 | 音频设备。 |
| options | [AudioDeviceOptions](#audiodeviceoptions9) | 是 | 音频设备参数。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let audioDeviceOptions={
bluetoothAddress: "IEEE 802-2014"
}
call.setAudioDevice(1, audioDeviceOptions, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.setAudioDevice9+
setAudioDevice\(device: AudioDevice, options?: AudioDeviceOptions\): Promise\
设置通话音频设备。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------ | ---- | ------------------ |
| device | [AudioDevice](#audiodevice8) | 是 | 音频设备。 |
| options | [AudioDeviceOptions](#audiodeviceoptions9) | 否 | 音频设备参数参数。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ------------------------------- |
| Promise<void> | 以Promise形式异步返回设置结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let audioDeviceOptions={
bluetoothAddress: "IEEE 802-2014"
}
call.setAudioDevice(1, audioDeviceOptions).then(() => {
console.log(`setAudioDevice success.`);
}).catch((err) => {
console.error(`setAudioDevice fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.joinConference8+
joinConference\(mainCallId: number, callNumberList: Array\, callback: AsyncCallback\\): void
加入会议。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | ------------------------- | ---- | --------------- |
| mainCallId | number | 是 | 主通话Id。 |
| callNumberList | Array | 是 | 呼叫号码列表。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let callNumberList: Array = [
"138XXXXXXXX"
];
call.joinConference(1, callNumberList, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.joinConference8+
joinConference\(mainCallId: number, callNumberList: Array\\): Promise\
加入会议。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | -------------- | ---- | --------------- |
| mainCallId | number | 是 | 主通话Id。 |
| callNumberList | Array | 是 | 呼叫号码列表。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let callNumberList: Array = [
"138XXXXXXXX"
];
call.joinConference(1, callNumberList).then(() => {
console.log(`joinConference success.`);
}).catch((err) => {
console.error(`joinConference fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.updateImsCallMode8+
updateImsCallMode\(callId: number, mode: ImsCallMode, callback: AsyncCallback\\): void
更新Ims呼叫模式。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | -------------- |
| callId | number | 是 | 呼叫Id。 |
| mode | [ImsCallMode](#imscallmode8) | 是 | Ims呼叫模式。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.updateImsCallMode(1, 1, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.updateImsCallMode8+
updateImsCallMode\(callId: number, mode: ImsCallMode\): Promise\
更新Ims呼叫模式。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------------------- | ---- | -------------- |
| callId | number | 是 | 呼叫Id。 |
| mode | [ImsCallMode](#imscallmode8) | 是 | Ims呼叫模式。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.updateImsCallMode(1, 1).then(() => {
console.log(`updateImsCallMode success.`);
}).catch((err) => {
console.error(`updateImsCallMode fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.enableImsSwitch8+
enableImsSwitch\(slotId: number, callback: AsyncCallback\\): void
启用Ims开关。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.enableImsSwitch(0, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.enableImsSwitch8+
enableImsSwitch\(slotId: number\): Promise\
启用Ims开关。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.enableImsSwitch(0).then(() => {
console.log(`enableImsSwitch success.`);
}).catch((err) => {
console.error(`enableImsSwitch fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.disableImsSwitch8+
disableImsSwitch\(slotId: number, callback: AsyncCallback\\): void
禁用Ims开关。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.disableImsSwitch(0, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## call.disableImsSwitch8+
disableImsSwitch\(slotId: number\): Promise\
禁用Ims开关。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.disableImsSwitch(0).then(() => {
console.log(`disableImsSwitch success.`);
}).catch((err) => {
console.error(`disableImsSwitch fail, promise: err->${JSON.stringify(err)}`);
});
```
## call.isImsSwitchEnabled8+
isImsSwitchEnabled\(slotId: number, callback: AsyncCallback\\): void
判断Ims开关是否启用。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback<boolean> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
call.isImsSwitchEnabled(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## call.isImsSwitchEnabled8+
isImsSwitchEnabled\(slotId: number\): Promise\
判断Ims开关是否启用。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------- |
| Promise<void> | 以Promise形式异步返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = call.isImsSwitchEnabled(0);
promise.then(data => {
console.log(`isImsSwitchEnabled success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`isImsSwitchEnabled fail, promise: err->${JSON.stringify(err)}`);
});
```
## DialOptions
拨打电话的可选参数。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 类型 | 必填 | 说明 |
| ------------------------ | ---------------------------------- | ---- | ----------------------------------------------------------------------------------------------- |
| extras | boolean | 否 | 根据extras的值判断是否为视频通话,默认为语音通话。
- true:视频通话。
- false:语音通话。 |
| accountId 8+ | number | 否 | 帐户Id。
- 0:卡槽1
- 1:卡槽2
。 |
| videoState 8+ | [VideoStateType](#videostatetype7) | 否 | 视频状态类型。 |
| dialScene 8+ | [DialScene](#dialscene8) | 否 | 拨号场景。 |
| dialType 8+ | [DialType](#dialtype8) | 否 | 拨号类型。 |
## DialCallOptions9+
拨打电话的可选参数。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 类型 | 必填 | 说明 |
| ------------------------ | ---------------------------------- | ---- | ------------------------------------------------------------ |
| accountId 9+ | number | 否 | 帐户Id。
- 0:卡槽1
- 1:卡槽2
此接口为系统接口。|
| videoState 9+ | [VideoStateType](#videostatetype7) | 否 | 视频状态类型。此接口为系统接口。 |
| dialScene 9+ | [DialScene](#dialscene8) | 否 | 拨号场景。此接口为系统接口。 |
| dialType 9+ | [DialType](#dialtype8) | 否 | 拨号类型。此接口为系统接口。 |
## CallState
通话状态码。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 值 | 说明 |
| ------------------ | ---- | ------------------------------------------------------------ |
| CALL_STATE_UNKNOWN | -1 | 无效状态,当获取呼叫状态失败时返回。 |
| CALL_STATE_IDLE | 0 | 表示没有正在进行的呼叫。 |
| CALL_STATE_RINGING | 1 | 表示来电正在振铃或等待。 |
| CALL_STATE_OFFHOOK | 2 | 表示至少有一个呼叫处于拨号、通话中或呼叫保持状态,并且没有新的来电振铃或等待。 |
## EmergencyNumberOptions7+
判断是否是紧急电话号码的可选参数。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------------------------------------------- |
| slotId | number | 否 | 卡槽ID:
- 卡槽1:`0`。
- 卡槽2:`1`。 |
## NumberFormatOptions7+
格式化号码的可选参数。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 类型 | 必填 | 说明 |
| ----------- | ------ | ---- | ---------------------------------------------------------- |
| countryCode | string | 否 | 国家码,支持所有国家的国家码,如:CN(中国)。默认为:CN。 |
## ImsCallMode8+
IP多媒体系统调用模式。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 值 | 说明 |
| ---------------------- | ---- | ------------------ |
| CALL_MODE_AUDIO_ONLY | 0 | 仅限音频呼叫 |
| CALL_MODE_SEND_ONLY | 1 | 仅发送呼叫 |
| CALL_MODE_RECEIVE_ONLY | 2 | 仅接收呼叫 |
| CALL_MODE_SEND_RECEIVE | 3 | 允许发送和接收呼叫 |
| CALL_MODE_VIDEO_PAUSED | 4 | 暂停视频呼叫 |
## AudioDevice8+
音频设备。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 值 | 说明 |
| -------------------- | ---- | ------------ |
| DEVICE_EARPIECE | 0 | 耳机设备 |
| DEVICE_SPEAKER | 1 | 扬声器设备 |
| DEVICE_WIRED_HEADSET | 2 | 有线耳机设备 |
| DEVICE_BLUETOOTH_SCO | 3 | 蓝牙SCO设备 |
| DEVICE_MIC | 4 | 麦克风设备 |
## CallRestrictionType8+
呼叫限制类型。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 值 | 说明 |
| --------------------------------------------- | ---- | -------------------------- |
| RESTRICTION_TYPE_ALL_INCOMING | 0 | 限制所有呼入 |
| RESTRICTION_TYPE_ALL_OUTGOING | 1 | 限制所有呼出 |
| RESTRICTION_TYPE_INTERNATIONAL | 2 | 限制国际通话 |
| RESTRICTION_TYPE_INTERNATIONAL_EXCLUDING_HOME | 3 | 限制除归属国以外的国际通话 |
| RESTRICTION_TYPE_ROAMING_INCOMING | 4 | 限制漫游呼入 |
| RESTRICTION_TYPE_ALL_CALLS | 5 | 限制所有通话 |
| RESTRICTION_TYPE_OUTGOING_SERVICES | 6 | 限制传出业务 |
| RESTRICTION_TYPE_INCOMING_SERVICES | 7 | 限制呼入业务 |
## CallTransferInfo8+
呼叫转移信息。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 类型 | 必填 | 说明 |
| ------------------------ | ---------------------------------------------------- | ---- | ---------------- |
| transferNum | string | 是 | 转移编号 |
| type | [CallTransferType](#calltransfertype8) | 是 | 呼叫转移类型 |
| settingType | [CallTransferSettingType](#calltransfersettingtype8) | 是 | 设置呼叫转移类型 |
| startHour9+ | number | 否 | 开始时间的小时数 |
| startMinute9+ | number | 否 | 开始时间的分钟数 |
| endHour9+ | number | 否 | 结束时间的分钟数 |
| endMinute9+ | number | 否 | 结束时间的分钟数 |
## CallTransferType8+
呼叫转移类型。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 值 | 说明 |
| --------------------------- | ---- | ------------ |
| TRANSFER_TYPE_UNCONDITIONAL | 0 | 无条件转移 |
| TRANSFER_TYPE_BUSY | 1 | 忙线转移 |
| TRANSFER_TYPE_NO_REPLY | 2 | 无回复转移 |
| TRANSFER_TYPE_NOT_REACHABLE | 3 | 无法访问转移 |
## CallTransferSettingType8+
设置呼叫转移类型。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 值 | 说明 |
| -------------------------- | ---- | ------------ |
| CALL_TRANSFER_DISABLE | 0 | 禁用呼叫转移 |
| CALL_TRANSFER_ENABLE | 1 | 启用呼叫转移 |
| CALL_TRANSFER_REGISTRATION | 3 | 登记呼叫转移 |
| CALL_TRANSFER_ERASURE | 4 | 消除呼叫转移 |
## CallAttributeOptions7+
调用属性选项。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 类型 | 必填 | 说明 |
| --------------- | ---------------------------------------- | ---- | -------------- |
| accountNumber | string | 是 | 帐号号码 |
| speakerphoneOn | boolean | 是 | 扬声器接通电话 |
| accountId | number | 是 | 帐户Id |
| videoState | [VideoStateType](#videostatetype7) | 是 | 视频状态类型 |
| startTime | number | 是 | 开始时间 |
| isEcc | boolean | 是 | 是否是Ecc |
| callType | [CallType](#calltype7) | 是 | 通话类型 |
| callId | number | 是 | 呼叫Id |
| callState | [DetailedCallState](#detailedcallstate7) | 是 | 详细呼叫状态 |
| conferenceState | [ConferenceState](#conferencestate7) | 是 | 会议状态 |
## ConferenceState7+
会议状态。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 值 | 说明 |
| ---------------------------- | ---- | -------------- |
| TEL_CONFERENCE_IDLE | 0 | 电话会议空闲 |
| TEL_CONFERENCE_ACTIVE | 1 | 电话会议激活 |
| TEL_CONFERENCE_DISCONNECTING | 2 | 电话会议断开 |
| TEL_CONFERENCE_DISCONNECTED | 3 | 电话会议已断开 |
## CallType7+
通话类型。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 值 | 说明 |
| ------------- | ---- | ------------ |
| TYPE_CS | 0 | CS通话 |
| TYPE_IMS | 1 | IMS通话 |
| TYPE_OTT | 2 | OTT通话 |
| TYPE_ERR_CALL | 3 | 其他类型通话 |
## VideoStateType7+
视频状态类型。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 值 | 说明 |
| ---------- | ---- | -------- |
| TYPE_VOICE | 0 | 语音状态 |
| TYPE_VIDEO | 1 | 视频状态 |
## DetailedCallState7+
详细的呼叫状态。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 值 | 说明 |
| ------------------------- | ---- | -------------- |
| CALL_STATUS_ACTIVE | 0 | 激活呼叫状态 |
| CALL_STATUS_HOLDING | 1 | 保持呼叫状态 |
| CALL_STATUS_DIALING | 2 | 呼叫状态拨号 |
| CALL_STATUS_ALERTING | 3 | 电话报警状态 |
| CALL_STATUS_INCOMING | 4 | 呼叫传入状态 |
| CALL_STATUS_WAITING | 5 | 呼叫等待状态 |
| CALL_STATUS_DISCONNECTED | 6 | 呼叫状态已断开 |
| CALL_STATUS_DISCONNECTING | 7 | 呼叫状态断开 |
| CALL_STATUS_IDLE | 8 | 呼叫状态空闲 |
## CallRestrictionInfo8+
呼叫限制信息。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------------- | ---- | ------------ |
| type | [CallRestrictionType](#callrestrictiontype8) | 是 | 呼叫限制类型 |
| password | string | 是 | 密码 |
| mode | [CallRestrictionMode](#callrestrictionmode8) | 是 | 呼叫限制模式 |
## CallRestrictionMode8+
呼叫限制模式。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 值 | 说明 |
| ----------------------------- | ---- | ------------ |
| RESTRICTION_MODE_DEACTIVATION | 0 | 限制模式停用 |
| RESTRICTION_MODE_ACTIVATION | 1 | 限制模式激活 |
## CallEventOptions8+
呼叫事件的可选参数。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------ | ---- | -------------- |
| eventId | [CallAbilityEventId](#callabilityeventid8) | 是 | 呼叫能力事件Id |
## CallAbilityEventId8+
呼叫能力事件Id。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 值 | 说明 |
| ------------------------ | ---- | --------------- |
| EVENT_DIAL_NO_CARRIER | 1 | 拨号无载波事件 |
| EVENT_INVALID_FDN_NUMBER | 2 | 无效的FDN号事件 |
## DialScene8+
拨号场景。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 值 | 说明 |
| --------------- | ---- | ------------ |
| CALL_NORMAL | 0 | 呼叫正常 |
| CALL_PRIVILEGED | 1 | 呼叫特权 |
| CALL_EMERGENCY | 2 | 拨打紧急电话 |
## DialType8+
拨号类型。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 值 | 说明 |
| -------------------- | ---- | ---------------- |
| DIAL_CARRIER_TYPE | 0 | 载波拨号类型 |
| DIAL_VOICE_MAIL_TYPE | 1 | 语音邮件拨号类型 |
| DIAL_OTT_TYPE | 2 | OTT拨号类型 |
## RejectMessageOptions7+
拒绝消息可选参数。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 类型 | 必填 | 说明 |
| -------------- | ------ | ---- | -------- |
| messageContent | string | 是 | 消息内容 |
## CallTransferResult8+
呼叫转移结果。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 类型 | 必填 | 说明 |
| ------------------------ | ---------------------------------- | ---- | ---------------- |
| status | [TransferStatus](#transferstatus8) | 是 | 转移状态 |
| number | string | 是 | 号码 |
| startHour9+ | number | 是 | 开始时间的小时数 |
| startMinute9+ | number | 是 | 开始时间的分钟数 |
| endHour9+ | number | 是 | 结束时间的分钟数 |
| endMinute9+ | number | 是 | 结束时间的分钟数 |
## CallWaitingStatus7+
呼叫等待状态。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 值 | 说明 |
| -------------------- | ---- | ------------ |
| CALL_WAITING_DISABLE | 0 | 禁用呼叫等待 |
| CALL_WAITING_ENABLE | 1 | 启用呼叫等待 |
## RestrictionStatus8+
限制状态。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 值 | 说明 |
| ------------------- | ---- | -------- |
| RESTRICTION_DISABLE | 0 | 禁用限制 |
| RESTRICTION_ENABLE | 1 | 启用限制 |
## TransferStatus8+
转移状态。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 值 | 说明 |
| ---------------- | ---- | -------- |
| TRANSFER_DISABLE | 0 | 禁用转移 |
| TRANSFER_ENABLE | 1 | 启用转移 |
## DisconnectedDetails9+
通话结束原因。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------ | ---- | --------------- |
| reason | [DisconnectedReason](#disconnectedreason8) | 是 | 通话结束原因 |
| message | string | 是 | 通话结束提示信息|
## DisconnectedReason8+
断开连接的详细信息。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 值 | 说明 |
| ------------------------------------------------------------ | ---- | --------------------------------------- |
| UNASSIGNED_NUMBER | 1 | 未分配的号码(空号) |
| NO_ROUTE_TO_DESTINATION | 3 | 无至目的地的路由 |
| CHANNEL_UNACCEPTABLE | 6 | 不可接受的通路 |
| OPERATOR_DETERMINED_BARRING | 8 | 运营商闭锁 |
| CALL_COMPLETED_ELSEWHERE9+ | 13 | 呼叫在其他地方完成 |
| NORMAL_CALL_CLEARING | 16 | 清除正常呼叫 |
| USER_BUSY | 17 | 用户忙 |
| NO_USER_RESPONDING | 18 | 无用户响应 |
| USER_ALERTING_NO_ANSWER | 19 | 已有用户提醒,但无应答 |
| CALL_REJECTED | 21 | 呼叫拒绝 |
| NUMBER_CHANGED | 22 | 号码改变 |
| CALL_REJECTED_DUE_TO_FEATURE_AT_THE_DESTINATION9+ | 24 | 当由于目标地址(例如匿名)导致呼叫被拒绝 |
| FAILED_PRE_EMPTION9+ | 25 | 抢占失败 |
| NON_SELECTED_USER_CLEARING9+ | 26 | 非选定用户清除 |
| DESTINATION_OUT_OF_ORDER | 27 | 终点故障 |
| INVALID_NUMBER_FORMAT | 28 | 无效号码格式 |
| FACILITY_REJECTED9+ | 29 | 增补业务拒绝 |
| RESPONSE_TO_STATUS_ENQUIRY9+ | 30 | 对状态查询的响应 |
| NORMAL_UNSPECIFIED9+ | 31 | 正常,未指定 |
| NO_CIRCUIT_CHANNEL_AVAILABLE9+ | 34 | 无电路/通道可用 |
| NETWORK_OUT_OF_ORDER | 38 | 网络故障 |
| TEMPORARY_FAILURE | 41 | 临时故障 |
| SWITCHING_EQUIPMENT_CONGESTION9+ | 42 | 交换设备拥塞 |
| ACCESS_INFORMATION_DISCARDED9+ | 43 | 已丢弃访问信息 |
| REQUEST_CIRCUIT_CHANNEL_NOT_AVAILABLE9+ | 44 | 请求的电路/通道不可用 |
| RESOURCES_UNAVAILABLE_UNSPECIFIED9+ | 47 | 未指定资源不可用 |
| QUALITY_OF_SERVICE_UNAVAILABLE9+ | 49 | 服务质量不可用 |
| REQUESTED_FACILITY_NOT_SUBSCRIBED9+ | 50 | 请求的设施未订阅 |
| INCOMING_CALLS_BARRED_WITHIN_THE_CUG9+ | 55 | CUG内禁止来电 |
| BEARER_CAPABILITY_NOT_AUTHORIZED9+ | 57 | 未授权承载能力 |
| BEARER_CAPABILITY_NOT_PRESENTLY_AVAILABLE9+ | 58 | 承载能力目前不可用 |
| SERVICE_OR_OPTION_NOT_AVAILABLE_UNSPECIFIED9+ | 63 | 服务或选项不可用,未指定 |
| BEARER_SERVICE_NOT_IMPLEMENTED9+ | 65 | 未实现承载服务 |
| ACM_EQUALTO_OR_GREATER_THAN_THE_MAXIMUM_VALUE9+ | 68 | ACM大于或等于最大值 |
| REQUESTED_FACILITY_NOT_IMPLEMENTED9+ | 69 | 请求的设施未实施 |
| ONLY_RESTRICTED_DIGITAL_INFO_BEARER_CAPABILITY_IS_AVAILABLE9+ | 70 | 仅限BC有限数字信息可用 |
| SERVICE_OR_OPTION_NOT_IMPLEMENTED_UNSPECIFIED9+ | 79 | 服务或选项未实施,未指定 |
| INVALID_TRANSACTION_IDENTIFIER_VALUE9+ | 81 | 无效的业务标识符值 |
| USER_NOT_MEMBER_OF_CUG9+ | 87 | 用户不是CUG成员 |
| INCOMPATIBLE_DESTINATION9+ | 88 | 目标不兼容 |
| INVALID_TRANSIT_NETWORK_SELECTION9+ | 91 | 选择的传输网络无效 |
| SEMANTICALLY_INCORRECT_MESSAGE9+ | 95 | 语义错误的消息 |
| INVALID_MANDATORY_INFORMATION9+ | 96 | 无效的强制信息 |
| MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED9+ | 97 | 消息类型不存在或未实现 |
| MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE9+ | 98 | 消息类型与协议状态不兼容 |
| INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED9+ | 99 | IE不存在或未实现 |
| CONDITIONAL_IE_ERROR9+ | 100 | 条件IE错误 |
| MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE9+ | 101 | 消息与协议状态不兼容 |
| RECOVERY_ON_TIMER_EXPIRED9+ | 102 | 计时器过期时恢复计时器编号 |
| PROTOCOL_ERROR_UNSPECIFIED9+ | 111 | 协议错误,未指定 |
| INTERWORKING_UNSPECIFIED9+ | 127 | 互通,未指定 |
| CALL_BARRED9+ | 240 | 呼叫被禁止 |
| FDN_BLOCKED9+ | 241 | FDN受阻 |
| IMSI_UNKNOWN_IN_VLR9+ | 242 | VLR中的IMSI未知 |
| IMEI_NOT_ACCEPTED9+ | 243 | IMEI未被接受 |
| DIAL_MODIFIED_TO_USSD9+ | 244 | 拨号修改为USSD |
| DIAL_MODIFIED_TO_SS9+ | 245 | 拨号修改为USSD号 |
| DIAL_MODIFIED_TO_DIAL9+ | 246 | 拨号已修改为正常 |
| RADIO_OFF9+ | 247 | 无线电通讯已关闭 |
| OUT_OF_SERVICE9+ | 248 | 停止服务 |
| NO_VALID_SIM9+ | 249 | SIM卡无效 |
| RADIO_INTERNAL_ERROR9+ | 250 | 无线电通讯内部错误 |
| NETWORK_RESP_TIMEOUT9+ | 251 | 网络响应超时 |
| NETWORK_REJECT9+ | 252 | 网络拒绝 |
| RADIO_ACCESS_FAILURE9+ | 253 | 无线电接入故障 |
| RADIO_LINK_FAILURE9+ | 254 | 无线电链路故障 |
| RADIO_LINK_LOST9+ | 255 | 无线电链路丢失 |
| RADIO_UPLINK_FAILURE9+ | 256 | 无线电上行链路故障 |
| RADIO_SETUP_FAILURE9+ | 257 | 无线电通讯设置失败 |
| RADIO_RELEASE_NORMAL9+ | 258 | 无线电释放正常 |
| RADIO_RELEASE_ABNORMAL9+ | 259 | 无线电释放异常 |
| ACCESS_CLASS_BLOCKED9+ | 260 | 访问类被阻止 |
| NETWORK_DETACH9+ | 261 | 网络分离 |
| INVALID_PARAMETER | 1025 | 无效参数 |
| SIM_NOT_EXIT | 1026 | SIM卡未退出 |
| SIM_PIN_NEED | 1027 | 需要SIM卡PIN码 |
| CALL_NOT_ALLOW | 1029 | 不允许呼叫 |
| SIM_INVALID | 1045 | SIM卡无效 |
| UNKNOWN | 1279 | 未知原因 |
## MmiCodeResults9+
MMI码结果。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 类型 | 必填 | 说明 |
| ------- | -------------------------------- | ---- | --------------- |
| result | [MmiCodeResult](#mmicoderesult9) | 是 | MMI码结果 |
| message | string | 是 | MMI码消息 |
## MmiCodeResult9+
MMI码结果。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 值 | 说明 |
| ---------------- | ---- | ------------- |
| MMI_CODE_SUCCESS | 0 | 表示MMI码成功 |
| MMI_CODE_FAILED | 1 | 表示MMI码失败 |
## AudioDeviceOptions9+
音频设备选项。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CallManager
| 名称 | 类型 | 必填 | 说明 |
| ---------------- | ------ | ---- | -------- |
| bluetoothAddress | string | 否 | 蓝牙地址 |