# @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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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.reject(1, rejectMessageOptions).then(() => { console.log(`reject success.`); }).catch((err) => { console.error(`reject 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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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 | 错误信息 | | -------- | -------------------------------------------- | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```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 | 错误信息 | | -------- | -------------------------------------------- | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```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 | 错误信息 | | -------- | -------------------------------------------- | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```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 | 错误信息 | | -------- | -------------------------------------------- | | 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.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 | 错误信息 | | -------- | -------------------------------------------- | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```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 | 错误信息 | | -------- | -------------------------------------------- | | 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.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 | 错误信息 | | -------- | -------------------------------------------- | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```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 | 错误信息 | | -------- | -------------------------------------------- | | 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.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. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```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. | | 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.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. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```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. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```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 | 错误信息 | | -------- | -------------------------------------------- | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```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 | 错误信息 | | -------- | -------------------------------------------- | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```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 | 错误信息 | | -------- | -------------------------------------------- | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```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 | 错误信息 | | -------- | -------------------------------------------- | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```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. | | 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. | | 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.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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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 | 错误信息 | | -------- | -------------------------------------------- | | 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 | 错误信息 | | -------- | -------------------------------------------- | | 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.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 | 错误信息 | | -------- | -------------------------------------------- | | 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 | 错误信息 | | -------- | -------------------------------------------- | | 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. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```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. | | 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.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. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```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. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```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. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```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. | | 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.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. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```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. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```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. | | 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. | | 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.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 | 错误信息 | | -------- | -------------------------------------------- | | 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 | 错误信息 | | -------- | -------------------------------------------- | | 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().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 | 错误信息 | | -------- | -------------------------------------------- | | 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 | 错误信息 | | -------- | -------------------------------------------- | | 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().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 | 错误信息 | | -------- | -------------------------------------------- | | 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 | 错误信息 | | -------- | -------------------------------------------- | | 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 | 错误信息 | | -------- | -------------------------------------------- | | 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 | 错误信息 | | -------- | -------------------------------------------- | | 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 | 错误信息 | | -------- | -------------------------------------------- | | 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 | 错误信息 | | -------- | -------------------------------------------- | | 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 | 错误信息 | | -------- | -------------------------------------------- | | 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. | | 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. | | 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. | | 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. | | 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 | 错误信息 | | -------- | -------------------------------------------- | | 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 | 错误信息 | | -------- | -------------------------------------------- | | 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 | 否 | 蓝牙地址 |