W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
該模塊提供呼叫管理功能,包括撥打電話、跳轉(zhuǎn)到撥號界面、獲取通話狀態(tài)、格式化電話號碼等。
如需訂閱通話狀態(tài)請使用observer.on('callStateChange')。
本模塊首批接口從API version 6開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。
dial(phoneNumber: string, callback: AsyncCallback<boolean>): void
撥打電話。使用callback異步回調(diào)。
從API version 6 開始支持,從API version 9 開始廢棄。替代接口能力僅對系統(tǒng)應用開放。
需要權(quán)限:ohos.permission.PLACE_CALL,該權(quán)限為系統(tǒng)權(quán)限
系統(tǒng)能力:SystemCapability.Telephony.CallManager
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
phoneNumber | string | 是 | 電話號碼。 |
callback | AsyncCallback<boolean> | 是 | 回調(diào)函數(shù),返回true為成功,false為失敗。 |
示例:
- call.dial("138xxxxxxxx", (err, data) => {
- console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
- });
dial(phoneNumber: string, options: DialOptions, callback: AsyncCallback<boolean>): void
撥打電話,可設(shè)置通話參數(shù)。使用callback異步回調(diào)。
從API version 6 開始支持,從API version 9 開始廢棄。替代接口能力僅對系統(tǒng)應用開放。
需要權(quán)限:ohos.permission.PLACE_CALL,該權(quán)限為系統(tǒng)權(quán)限
系統(tǒng)能力:SystemCapability.Telephony.CallManager
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
phoneNumber | string | 是 | 電話號碼。 |
options | 是 | 通話參數(shù),選擇為語音通話還是視頻通話。 | |
callback | AsyncCallback<boolean> | 是 | 回調(diào)函數(shù),返回true為成功,false為失敗。 |
示例:
- call.dial("138xxxxxxxx", {
- extras: false
- }, (err, data) => {
- console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
- });
dial(phoneNumber: string, options?: DialOptions): Promise<boolean>
撥打電話,可設(shè)置通話參數(shù)。使用Promise異步回調(diào)。
從API version 6 開始支持,從API version 9 開始廢棄。替代接口能力僅對系統(tǒng)應用開放。
需要權(quán)限:ohos.permission.PLACE_CALL,該權(quán)限為系統(tǒng)權(quán)限
系統(tǒng)能力:SystemCapability.Telephony.CallManager
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
phoneNumber | string | 是 | 電話號碼。 |
options | 否 | 通話參數(shù),選擇為語音通話還是視頻通話。 |
返回值:
類型 | 說明 |
---|---|
Promise<boolean> | 以Promise形式返回撥打電話的結(jié)果,返回true為成功,false為失敗。 |
示例:
- 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)}`);
- });
makeCall(phoneNumber: string, callback: AsyncCallback<void>): void
跳轉(zhuǎn)到撥號界面,并顯示待撥出的號碼。使用callback異步回調(diào)。
系統(tǒng)能力:SystemCapability.Applications.Contacts
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
phoneNumber | string | 是 | 電話號碼。 |
callback | AsyncCallback<void> | 是 | 以callback形式異步返回跳轉(zhuǎn)撥號界面的結(jié)果。 |
錯誤碼:
以下錯誤碼的詳細介紹請參見ohos.telephony(電話子系統(tǒng))錯誤碼錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
401 | Parameter error. |
8300001 | Invalid parameter value. |
8300002 | Operation failed. Cannot connect to service. |
8300003 | System internal error. |
8300999 | Unknown error code. |
示例:
- call.makeCall("138xxxxxxxx", err => {
- console.log(`makeCall callback: err->${JSON.stringify(err)}`);
- });
makeCall(phoneNumber: string): Promise<void>
跳轉(zhuǎn)到撥號界面,并顯示待撥出的號碼。使用Promise異步回調(diào)。
系統(tǒng)能力:SystemCapability.Applications.Contacts
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
phoneNumber | string | 是 | 電話號碼。 |
返回值:
類型 | 說明 |
---|---|
Promise<void> | 以Promise形式異步返回撥號的結(jié)果。 |
錯誤碼:
以下錯誤碼的詳細介紹請參見ohos.telephony(電話子系統(tǒng))錯誤碼錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
401 | Parameter error. |
8300001 | Invalid parameter value. |
8300002 | Operation failed. Cannot connect to service. |
8300003 | System internal error. |
8300999 | Unknown error code. |
示例:
- let promise = call.makeCall("138xxxxxxxx");
- promise.then(() => {
- console.log(`makeCall success`);
- }).catch(err => {
- console.error(`makeCall fail, promise: err->${JSON.stringify(err)}`);
- });
hasCall(callback: AsyncCallback<boolean>): void
判斷是否存在通話。使用callback異步回調(diào)。
系統(tǒng)能力:SystemCapability.Telephony.CallManager
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<boolean> | 是 | 回調(diào)函數(shù)。返回true表示當前存在通話,false表示當前不存在通話。 |
示例:
- call.hasCall((err, data) => {
- console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
- });
hasCall(): Promise<boolean>
判斷是否存在通話。使用Promise異步回調(diào)。
系統(tǒng)能力:SystemCapability.Telephony.CallManager
返回值:
類型 | 說明 |
---|---|
Promise<boolean> | 以Promise形式異步返回判斷是否存在通話。 |
示例:
- 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)}`);
- });
getCallState(callback: AsyncCallback<CallState>): void
獲取當前通話狀態(tài)。使用callback異步回調(diào)。
系統(tǒng)能力:SystemCapability.Telephony.CallManager
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<CallState> | 是 | 回調(diào)函數(shù),異步返回獲取到的通話狀態(tài)。 |
示例:
- call.getCallState((err, data) => {
- console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
- });
getCallState(): Promise<CallState>
獲取當前通話狀態(tài)。使用Promise異步回調(diào)。
系統(tǒng)能力:SystemCapability.Telephony.CallManager
返回值:
類型 | 說明 |
---|---|
Promise<CallState> | 以Promise形式異步返回獲取到的通話狀態(tài)。 |
示例:
- 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)}`);
- });
hasVoiceCapability(): boolean
檢查當前設(shè)備是否具備語音通話能力。
系統(tǒng)能力:SystemCapability.Telephony.CallManager
返回值:
類型 | 說明 |
---|---|
boolean | 返回true表示設(shè)備具備語音通話能力,返回false表示設(shè)備不具備語音通話能力。 |
- let result = call.hasVoiceCapability();
- console.log(`hasVoiceCapability: ${JSON.stringify(result)}`);
isEmergencyPhoneNumber(phoneNumber: string, callback: AsyncCallback<boolean>): void
判斷是否是緊急電話號碼。使用callback異步回調(diào)。
系統(tǒng)能力:SystemCapability.Telephony.CallManager
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
phoneNumber | string | 是 | 電話號碼。 |
callback | AsyncCallback<boolean> | 是 | 回調(diào)函數(shù)。返回true表示是緊急電話號碼,返回false表示不是緊急電話號碼。 |
錯誤碼:
以下錯誤碼的詳細介紹請參見ohos.telephony(電話子系統(tǒng))錯誤碼錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
401 | Parameter error. |
8300001 | Invalid parameter value. |
8300002 | Operation failed. Cannot connect to service. |
8300003 | System internal error. |
8300999 | Unknown error code. |
示例:
- call.isEmergencyPhoneNumber("138xxxxxxxx", (err, data) => {
- console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
- });
isEmergencyPhoneNumber(phoneNumber: string, options: EmergencyNumberOptions, callback: AsyncCallback<boolean>): void
根據(jù)電話號碼參數(shù),判斷是否是緊急電話號碼。使用callback異步回調(diào)。
系統(tǒng)能力:SystemCapability.Telephony.CallManager
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
phoneNumber | string | 是 | 電話號碼。 |
options | 是 | 電話號碼參數(shù)。 | |
callback | AsyncCallback<boolean> | 是 | 回調(diào)函數(shù)。返回true表示是緊急電話號碼,返回false表示不是緊急電話號碼。 |
錯誤碼:
以下錯誤碼的詳細介紹請參見ohos.telephony(電話子系統(tǒng))錯誤碼錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
401 | Parameter error. |
8300001 | Invalid parameter value. |
8300002 | Operation failed. Cannot connect to service. |
8300003 | System internal error. |
8300999 | Unknown error code. |
示例:
- call.isEmergencyPhoneNumber("112", {slotId: 1}, (err, data) => {
- console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
- });
isEmergencyPhoneNumber(phoneNumber: string, options?: EmergencyNumberOptions): Promise<boolean>
根據(jù)電話號碼參數(shù),判斷是否是緊急電話號碼。使用Promise異步回調(diào)。
系統(tǒng)能力:SystemCapability.Telephony.CallManager
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
phoneNumber | string | 是 | 電話號碼。 |
options | 否 | 電話號碼參數(shù)。 |
返回值:
類型 | 說明 |
---|---|
Promise<boolean> | 以Promise形式異步返回判斷是否是緊急電話號碼的結(jié)果。 |
錯誤碼:
以下錯誤碼的詳細介紹請參見ohos.telephony(電話子系統(tǒng))錯誤碼錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
401 | Parameter error. |
8300001 | Invalid parameter value. |
8300002 | Operation failed. Cannot connect to service. |
8300003 | System internal error. |
8300999 | Unknown error code. |
示例:
- 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)}`);
- });
formatPhoneNumber(phoneNumber: string, callback: AsyncCallback<string>): void
格式化電話號碼。使用callback異步回調(diào)。
電話號碼格式化后為標準數(shù)字字串,例如:“138 xxxx xxxx”、“0755 xxxx xxxx”。
系統(tǒng)能力:SystemCapability.Telephony.CallManager
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
phoneNumber | string | 是 | 電話號碼。 |
callback | AsyncCallback<string> | 是 | 回調(diào)函數(shù),返回格式化電話號碼的結(jié)果。 |
錯誤碼:
以下錯誤碼的詳細介紹請參見ohos.telephony(電話子系統(tǒng))錯誤碼錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
401 | Parameter error. |
8300001 | Invalid parameter value. |
8300002 | Operation failed. Cannot connect to service. |
8300003 | System internal error. |
8300999 | Unknown error code. |
示例:
- call.formatPhoneNumber("138xxxxxxxx", (err, data) => {
- console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
- });
formatPhoneNumber(phoneNumber: string, options: NumberFormatOptions, callback: AsyncCallback<string>): void
格式化電話號碼,可設(shè)置格式化參數(shù)。使用callback異步回調(diào)。
電話號碼格式化后為標準數(shù)字字串,例如:“138 xxxx xxxx”、“0755 xxxx xxxx”。
系統(tǒng)能力:SystemCapability.Telephony.CallManager
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
phoneNumber | string | 是 | 電話號碼。 |
options | 是 | 格式化參數(shù),如國家碼。 | |
callback | AsyncCallback<string> | 是 | 回調(diào)函數(shù),返回格式化電話號碼的結(jié)果。 |
錯誤碼:
以下錯誤碼的詳細介紹請參見ohos.telephony(電話子系統(tǒng))錯誤碼錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
401 | Parameter error. |
8300001 | Invalid parameter value. |
8300002 | Operation failed. Cannot connect to service. |
8300003 | System internal error. |
8300999 | Unknown error code. |
示例:
- call.formatPhoneNumber("138xxxxxxxx", {
- countryCode: "CN"
- }, (err, data) => {
- console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
- });
formatPhoneNumber(phoneNumber: string, options?: NumberFormatOptions): Promise<string>
格式化電話號碼,可設(shè)置格式化參數(shù)。使用Promise異步回調(diào)。
電話號碼格式化后為標準數(shù)字字串,例如:“138 xxxx xxxx”、“0755 xxxx xxxx”。
系統(tǒng)能力:SystemCapability.Telephony.CallManager
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
phoneNumber | string | 是 | 電話號碼。 |
options | 否 | 格式化參數(shù),如國家碼。 |
返回值:
類型 | 說明 |
---|---|
Promise<string> | 以Promise形式異步返回格式化電話號碼的結(jié)果。 |
錯誤碼:
以下錯誤碼的詳細介紹請參見ohos.telephony(電話子系統(tǒng))錯誤碼錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
401 | Parameter error. |
8300001 | Invalid parameter value. |
8300002 | Operation failed. Cannot connect to service. |
8300003 | System internal error. |
8300999 | Unknown error code. |
示例:
- 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)}`);
- });
formatPhoneNumberToE164(phoneNumber: string, countryCode: string, callback: AsyncCallback<string>): void
將電話號碼格式化為E.164表示形式。使用callback異步回調(diào)。
待格式化的電話號碼需要與傳入的國家碼相匹配,如中國電話號碼需要傳入國家碼CN,否則格式化后的電話號碼為null。
系統(tǒng)能力:SystemCapability.Telephony.CallManager
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
phoneNumber | string | 是 | 電話號碼。 |
countryCode | string | 是 | 國家碼,支持所有國家碼,如:中國(CN)。 |
callback | AsyncCallback<string> | 是 | 回調(diào)函數(shù),返回將電話號碼格式化為E.164表示形式的結(jié)果。 |
錯誤碼:
以下錯誤碼的詳細介紹請參見ohos.telephony(電話子系統(tǒng))錯誤碼錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
401 | Parameter error. |
8300001 | Invalid parameter value. |
8300002 | Operation failed. Cannot connect to service. |
8300003 | System internal error. |
8300999 | Unknown error code. |
示例:
- call.formatPhoneNumberToE164("138xxxxxxxx", "CN", (err, data) => {
- console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
- });
formatPhoneNumberToE164(phoneNumber: string, countryCode: string): Promise<string>
將電話號碼格式化為E.164表示形式。使用Promise異步回調(diào)。
待格式化的電話號碼需要與傳入的國家碼相匹配,如中國電話號碼需要傳入國家碼CN,否則格式化后的電話號碼為null。
支持所有國家碼。
系統(tǒng)能力:SystemCapability.Telephony.CallManager
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
phoneNumber | string | 是 | 電話號碼。 |
countryCode | string | 是 | 國家碼,支持所有國家碼,如:中國(CN)。 |
返回值:
類型 | 說明 |
---|---|
Promise<string> | 以Promise形式異步返回將電話號碼格式化為E.164表示形式的結(jié)果。 |
錯誤碼:
以下錯誤碼的詳細介紹請參見ohos.telephony(電話子系統(tǒng))錯誤碼錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
401 | Parameter error. |
8300001 | Invalid parameter value. |
8300002 | Operation failed. Cannot connect to service. |
8300003 | System internal error. |
8300999 | Unknown error code. |
示例:
- 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)}`);
- });
撥打電話的可選參數(shù)。
系統(tǒng)能力:以下各項對應的系統(tǒng)能力均為SystemCapability.Telephony.CallManager。
名稱 | 類型 | 必填 | 說明 |
---|---|---|---|
extras | boolean | 否 | 根據(jù)extras的值判斷是否為視頻通話,默認為語音通話。 - true:視頻通話。 - false:語音通話。 |
通話狀態(tài)碼。
系統(tǒng)能力:以下各項對應的系統(tǒng)能力均為SystemCapability.Telephony.CallManager。
名稱 | 值 | 說明 |
---|---|---|
CALL_STATE_UNKNOWN | -1 | 無效狀態(tài),當獲取呼叫狀態(tài)失敗時返回。 |
CALL_STATE_IDLE | 0 | 表示沒有正在進行的呼叫。 |
CALL_STATE_RINGING | 1 | 表示來電正在振鈴或等待。 |
CALL_STATE_OFFHOOK | 2 | 表示至少有一個呼叫處于撥號、通話中或呼叫保持狀態(tài),并且沒有新的來電振鈴或等待。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: