js-apis-call.md 20.3 KB
Newer Older
Z
zengyawen 已提交
1 2
# 拨打电话

C
clevercong 已提交
3 4
>**说明:** 
>
Z
zengyawen 已提交
5
>本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
C
clevercong 已提交
6 7


Z
zengyawen 已提交
8
## 导入模块
C
clevercong 已提交
9 10 11 12 13

```
import call from '@ohos.telephony.call';
```

C
clevercong 已提交
14
## call.dial
C
clevercong 已提交
15 16 17 18 19

dial\(phoneNumber: string, callback: AsyncCallback<boolean\>\): void

拨打电话,使用callback方式作为异步方法。

20 21 22
**需要权限**:ohos.permission.PLACE\_CALL,该权限为系统权限

**系统能力**:SystemCapability.Telephony.CallManager
C
clevercong 已提交
23

Z
zengyawen 已提交
24 25
**参数:**

C
clevercong 已提交
26
| 参数名      | 类型                         | 必填 | 说明                                              |
Z
zengyawen 已提交
27 28 29 30 31 32
| ----------- | ---------------------------- | ---- | ------------------------------------------------- |
| phoneNumber | string                       | 是   | 电话号码。                                        |
| callback    | AsyncCallback&lt;boolean&gt; | 是   | 回调函数:<br/>- true:成功。<br/>- false:失败。 |

**示例:**

Z
zengyawen 已提交
33
```js
Z
zengyawen 已提交
34 35 36 37
call.dial("138xxxxxxxx", (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
38 39


C
clevercong 已提交
40
## call.dial
C
clevercong 已提交
41 42 43 44 45

dial\(phoneNumber: string, options: DialOptions, callback: AsyncCallback<boolean\>\): void

拨打电话,可设置通话参数,使用callback方式作为异步方法。

46 47 48
**需要权限**:ohos.permission.PLACE\_CALL,该权限为系统权限

**系统能力**:SystemCapability.Telephony.CallManager
C
clevercong 已提交
49

Z
zengyawen 已提交
50
**参数:**
Z
zengyawen 已提交
51

C
clevercong 已提交
52
| 参数名      | 类型                         | 必填 | 说明                                              |
Z
zengyawen 已提交
53 54
| ----------- | ---------------------------- | ---- | ------------------------------------------------- |
| phoneNumber | string                       | 是   | 电话号码。                                        |
C
clevercong 已提交
55
| options     | DialOptions                  | 是   | 通话参数,参考[DialOptions](#dialoptions)。       |
Z
zengyawen 已提交
56
| callback    | AsyncCallback&lt;boolean&gt; | 是   | 回调函数:<br/>- true:成功。<br/>- false:失败。 |
Z
zengyawen 已提交
57

Z
zengyawen 已提交
58
**示例:**
C
clevercong 已提交
59

Z
zengyawen 已提交
60
```js
Z
zengyawen 已提交
61 62 63 64 65 66
call.dial("138xxxxxxxx", {
    extras: false
}, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
67 68


C
clevercong 已提交
69
## call.dial
C
clevercong 已提交
70 71 72 73 74

dial\(phoneNumber: string, options?: DialOptions\): Promise<boolean\>

拨打电话,可设置通话参数,使用promise方式作为异步方法。

75 76 77
**需要权限**:ohos.permission.PLACE\_CALL,该权限为系统权限

**系统能力**:SystemCapability.Telephony.CallManager
C
clevercong 已提交
78

Z
zengyawen 已提交
79
**参数:**
C
clevercong 已提交
80

C
clevercong 已提交
81
| 参数名      | 类型        | 必填 | 说明                                        |
Z
zengyawen 已提交
82 83
| ----------- | ----------- | ---- | ------------------------------------------- |
| phoneNumber | string      | 是   | 电话号码。                                  |
C
clevercong 已提交
84
| options     | DialOptions | 是   | 通话参数,参考[DialOptions](#dialoptions)。 |
Z
zengyawen 已提交
85

Z
zengyawen 已提交
86
**返回值:**
Z
zengyawen 已提交
87

Z
zengyawen 已提交
88 89 90
| 类型                   | 说明                              |
| ---------------------- | --------------------------------- |
| Promise&lt;boolean&gt; | 以Promise形式返回拨打电话的结果。 |
C
clevercong 已提交
91

Z
zengyawen 已提交
92
**示例:**
C
clevercong 已提交
93

Z
zengyawen 已提交
94
```js
Z
zengyawen 已提交
95 96 97 98 99 100 101 102 103
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)}`);
});
```
C
clevercong 已提交
104

C
clevercong 已提交
105
## call.makeCall<sup>7+</sup>
J
jyh926 已提交
106

C
clevercong 已提交
107
makeCall(phoneNumber: string, callback: AsyncCallback\<void\>): void
J
jyh926 已提交
108 109 110

跳转到拨号界面,并显示拨号的号码,使用callback方式作为异步方法。

C
clevercong 已提交
111 112 113
本接口在Openharmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

**系统能力**:SystemCapability.Applications.Contacts
J
jyh926 已提交
114 115 116

**参数:**

C
clevercong 已提交
117
| 参数名      | 类型                      | 必填 | 说明                                       |
J
jyh926 已提交
118 119 120 121 122 123
| ----------- | ------------------------- | ---- | ------------------------------------------ |
| phoneNumber | string                    | 是   | 电话号码。                                 |
| callback    | AsyncCallback&lt;void&gt; | 是   | 以callback形式异步返回跳转拨号界面的结果。 |

**示例:**

Z
zengyawen 已提交
124
```js
J
jyh926 已提交
125 126 127 128 129 130
call.makeCall("138xxxxxxxx", err => { 
    console.log(`makeCall callback: err->${JSON.stringify(err)}`); 
});
```


C
clevercong 已提交
131
## call.makeCall<sup>7+</sup>
J
jyh926 已提交
132

C
clevercong 已提交
133
makeCall(phoneNumber: string): Promise\<void\>
J
jyh926 已提交
134 135 136

跳转到拨号界面,并显示拨号的号码,使用Promise方式作为异步方法。

C
clevercong 已提交
137 138 139
本接口在Openharmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

**系统能力**:SystemCapability.Applications.Contacts
J
jyh926 已提交
140 141 142

**参数:**

C
clevercong 已提交
143
| 参数名      | 类型   | 必填 | 说明       |
J
jyh926 已提交
144 145 146 147 148 149 150 151 152 153 154
| ----------- | ------ | ---- | ---------- |
| phoneNumber | string | 是   | 电话号码。 |

**返回值:**

| 类型                | 说明                              |
| ------------------- | --------------------------------- |
| Promise&lt;void&gt; | 以Promise形式异步返回拨号的结果。 |

**示例:**

Z
zengyawen 已提交
155
```js
J
jyh926 已提交
156 157 158 159 160 161 162 163
let promise = call.makeCall("138xxxxxxxx"); 
promise.then(() => { 
    console.log(`makeCall success`); 
}).catch(err => { 
    console.error(`makeCall fail, promise: err->${JSON.stringify(err)}`); 
});
```

C
clevercong 已提交
164
## call.hasCall
C
clevercong 已提交
165 166 167 168 169

hasCall\(callback: AsyncCallback<boolean\>\): void

判断是否存在通话,使用callback方式作为异步方法。

170 171
**系统能力**:SystemCapability.Telephony.CallManager

Z
zengyawen 已提交
172
**参数:**
Z
zengyawen 已提交
173

C
clevercong 已提交
174
| 参数名   | 类型                         | 必填 | 说明                                                         |
Z
zengyawen 已提交
175 176
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数:<br/>- true:当前存在通话。<br/>- false:当前不存在通话。 |
C
clevercong 已提交
177

Z
zengyawen 已提交
178
**示例:**
C
clevercong 已提交
179

Z
zengyawen 已提交
180
```js
Z
zengyawen 已提交
181 182 183 184
call.hasCall((err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
185 186


C
clevercong 已提交
187
## call.hasCall
C
clevercong 已提交
188 189 190 191 192

hasCall\(\): Promise<boolean\>

判断是否存在通话,使用Promise方式作为异步方法。

193 194
**系统能力**:SystemCapability.Telephony.CallManager

Z
zengyawen 已提交
195
**返回值:**
Z
zengyawen 已提交
196

Z
zengyawen 已提交
197 198 199
| 类型                   | 说明                                    |
| ---------------------- | --------------------------------------- |
| Promise&lt;boolean&gt; | 以Promise形式异步返回判断是否存在通话。 |
C
clevercong 已提交
200

Z
zengyawen 已提交
201
**示例:**
C
clevercong 已提交
202

Z
zengyawen 已提交
203
```js
Z
zengyawen 已提交
204 205 206 207 208 209 210
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)}`);
});
```
C
clevercong 已提交
211 212


C
clevercong 已提交
213
## call.getCallState
C
clevercong 已提交
214 215 216 217 218

getCallState\(callback: AsyncCallback<CallState\>\): void

获取通话状态,使用callback方式作为异步方法。

219 220
**系统能力**:SystemCapability.Telephony.CallManager

Z
zengyawen 已提交
221
**参数:**
Z
zengyawen 已提交
222

C
clevercong 已提交
223
| 参数名   | 类型                                         | 必填 | 说明                                 |
Z
zengyawen 已提交
224
| -------- | -------------------------------------------- | ---- | ------------------------------------ |
C
clevercong 已提交
225
| callback | AsyncCallback&lt;[CallState](#callstate)&gt; | 是   | 回调函数:异步返回获取到的通话状态。 |
C
clevercong 已提交
226

Z
zengyawen 已提交
227
**示例:**
C
clevercong 已提交
228

Z
zengyawen 已提交
229
```js
Z
zengyawen 已提交
230 231 232 233
call.getCallState((err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
234 235


C
clevercong 已提交
236
## call.getCallState
C
clevercong 已提交
237 238 239 240 241

getCallState\(\): Promise<CallState\>

获取通话状态,使用Promise方式作为异步方法。

242 243
**系统能力**:SystemCapability.Telephony.CallManager

Z
zengyawen 已提交
244
**返回值:**
Z
zengyawen 已提交
245

Z
zengyawen 已提交
246 247
| 类型                                   | 说明                                      |
| -------------------------------------- | ----------------------------------------- |
C
clevercong 已提交
248
| Promise&lt;[CallState](#callstate)&gt; | 以Promise形式异步返回获取通话状态的结果。 |
C
clevercong 已提交
249

Z
zengyawen 已提交
250
**示例:**
C
clevercong 已提交
251

Z
zengyawen 已提交
252
```js
Z
zengyawen 已提交
253 254 255 256 257 258 259
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)}`);
});
```
C
clevercong 已提交
260

C
clevercong 已提交
261
## call.hasVoiceCapability<sup>7+</sup>
J
jyh926 已提交
262 263 264 265 266 267 268 269 270 271 272 273 274

hasVoiceCapability(): boolean

检查当前设备是否具备语音通话能力,该方法是同步方法。

**系统能力**:SystemCapability.Telephony.CallManager

**返回值:**

| 类型    | 说明                                                         |
| ------- | ------------------------------------------------------------ |
| boolean | - true:设备具备语音通话能力<br/>- false:设备不具备语音通话能力 |

Z
zengyawen 已提交
275
```js
J
jyh926 已提交
276 277 278 279
let result = call.hasVoiceCapability(); 
console.log(`hasVoiceCapability: ${JSON.stringify(result)}`);
```

C
clevercong 已提交
280
## call.isEmergencyPhoneNumber<sup>7+</sup>
C
clevercong 已提交
281 282 283 284 285

isEmergencyPhoneNumber\(phoneNumber: string, callback: AsyncCallback<boolean\>\): void

判断是否是紧急电话号码,使用callback方式作为异步方法。

286 287
**系统能力**:SystemCapability.Telephony.CallManager

Z
zengyawen 已提交
288
**参数:**
Z
zengyawen 已提交
289

C
clevercong 已提交
290
| 参数名      | 类型                         | 必填 | 说明                                                         |
Z
zengyawen 已提交
291 292 293
| ----------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| phoneNumber | string                       | 是   | 电话号码。                                                   |
| callback    | AsyncCallback&lt;boolean&gt; | 是   | 回调函数,返回判断是否是紧急电话号码的结果:<br/>- true:是紧急电话号码。<br/>- false:不是紧急电话号码。 |
C
clevercong 已提交
294

Z
zengyawen 已提交
295
**示例:**
C
clevercong 已提交
296

Z
zengyawen 已提交
297
```js
Z
zengyawen 已提交
298 299 300 301
call.isEmergencyPhoneNumber("138xxxxxxxx", (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
302 303


C
clevercong 已提交
304
## call.isEmergencyPhoneNumber<sup>7+</sup>
C
clevercong 已提交
305 306 307 308 309

isEmergencyPhoneNumber\(phoneNumber: string, options: EmergencyNumberOptions, callback: AsyncCallback<boolean\>\): void

判断是否是紧急电话号码,使用callback方式作为异步方法。

310 311
**系统能力**:SystemCapability.Telephony.CallManager

Z
zengyawen 已提交
312
**参数:**
C
clevercong 已提交
313

C
clevercong 已提交
314
| 参数名      | 类型                         | 必填 | 说明                                                         |
Z
zengyawen 已提交
315 316
| ----------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| phoneNumber | string                       | 是   | 电话号码。                                                   |
Z
zengyawen 已提交
317
| options     | EmergencyNumberOptions       | 是   | 电话号码参数,参考[EmergencyNumberOptions](#emergencynumberoptions7)。 |
Z
zengyawen 已提交
318
| callback    | AsyncCallback&lt;boolean&gt; | 是   | 回调函数,返回判断是否是紧急电话号码的结果:<br/>- true:是紧急电话号码。<br/>- false:不是紧急电话号码。 |
C
clevercong 已提交
319

Z
zengyawen 已提交
320
**示例:**
C
clevercong 已提交
321

Z
zengyawen 已提交
322
```js
Z
zengyawen 已提交
323 324 325 326
call.isEmergencyPhoneNumber("112", {slotId: 1}, (err, value) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
327 328


C
clevercong 已提交
329
## call.isEmergencyPhoneNumber<sup>7+</sup>
C
clevercong 已提交
330 331 332 333 334

isEmergencyPhoneNumber\(phoneNumber: string, options?: EmergencyNumberOptions\): Promise<boolean\>

判断是否是紧急电话号码,使用promise方式作为异步方法。

335 336
**系统能力**:SystemCapability.Telephony.CallManager

Z
zengyawen 已提交
337
**参数:**
C
clevercong 已提交
338

C
clevercong 已提交
339
| 参数名      | 类型                   | 必填 | 说明                                                         |
Z
zengyawen 已提交
340 341
| ----------- | ---------------------- | ---- | ------------------------------------------------------------ |
| phoneNumber | string                 | 是   | 电话号码。                                                   |
Z
zengyawen 已提交
342
| options     | EmergencyNumberOptions | 是   | 电话号码参数,参考[EmergencyNumberOptions](#emergencynumberoptions7)。 |
C
clevercong 已提交
343

Z
zengyawen 已提交
344
**返回值:**
C
clevercong 已提交
345

Z
zengyawen 已提交
346 347 348
| 类型                   | 说明                                                |
| ---------------------- | --------------------------------------------------- |
| Promise&lt;boolean&gt; | 以Promise形式异步返回判断是否是紧急电话号码的结果。 |
C
clevercong 已提交
349

Z
zengyawen 已提交
350
**示例:**
C
clevercong 已提交
351

Z
zengyawen 已提交
352
```js
Z
zengyawen 已提交
353 354 355 356 357 358 359
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)}`);
});
```
C
clevercong 已提交
360

C
clevercong 已提交
361
## call.formatPhoneNumber<sup>7+</sup>
C
clevercong 已提交
362 363 364 365 366

formatPhoneNumber\(phoneNumber: string, callback: AsyncCallback<string\>\): void

格式化电话号码,使用callback方式作为异步方法。

367 368
**系统能力**:SystemCapability.Telephony.CallManager

Z
zengyawen 已提交
369
**参数:**
Z
zengyawen 已提交
370

C
clevercong 已提交
371
| 参数名      | 类型                        | 必填 | 说明                                 |
Z
zengyawen 已提交
372 373 374
| ----------- | --------------------------- | ---- | ------------------------------------ |
| phoneNumber | string                      | 是   | 电话号码。                           |
| callback    | AsyncCallback&lt;string&gt; | 是   | 回调函数,返回格式化电话号码的结果。 |
C
clevercong 已提交
375

Z
zengyawen 已提交
376
**示例:**
C
clevercong 已提交
377

Z
zengyawen 已提交
378
```js
Z
zengyawen 已提交
379 380 381 382
call.formatPhoneNumber("138xxxxxxxx", (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
383 384


C
clevercong 已提交
385
## call.formatPhoneNumber<sup>7+</sup>
C
clevercong 已提交
386 387 388 389 390

formatPhoneNumber\(phoneNumber: string, options: NumberFormatOptions, callback: AsyncCallback<string\>\): void

格式化电话号码,可设置格式化参数,使用callback方式作为异步方法。

391 392
**系统能力**:SystemCapability.Telephony.CallManager

Z
zengyawen 已提交
393
**参数:**
Z
zengyawen 已提交
394

C
clevercong 已提交
395
| 参数名      | 类型                        | 必填 | 说明                                                         |
Z
zengyawen 已提交
396 397
| ----------- | --------------------------- | ---- | ------------------------------------------------------------ |
| phoneNumber | string                      | 是   | 电话号码。                                                   |
C
clevercong 已提交
398
| options     | NumberFormatOptions         | 是   | 格式化参数,参考[NumberFormatOptions](#numberformatoptions7)。 |
Z
zengyawen 已提交
399
| callback    | AsyncCallback&lt;string&gt; | 是   | 回调函数,返回格式化电话号码的结果。                         |
C
clevercong 已提交
400

Z
zengyawen 已提交
401
**示例:**
C
clevercong 已提交
402

Z
zengyawen 已提交
403
```js
Z
zengyawen 已提交
404 405 406 407 408 409
call.formatPhoneNumber("138xxxxxxxx",{
    countryCode: "CN"
}, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
410 411


C
clevercong 已提交
412
## call.formatPhoneNumber<sup>7+</sup>
C
clevercong 已提交
413 414 415 416 417

formatPhoneNumber\(phoneNumber: string, options?: NumberFormatOptions\): Promise<string\>

格式化电话号码,可设置格式化参数,使用promise方式作为异步方法。

418 419
**系统能力**:SystemCapability.Telephony.CallManager

Z
zengyawen 已提交
420
**参数:**
Z
zengyawen 已提交
421

C
clevercong 已提交
422
| 参数名      | 类型                | 必填 | 说明                                                         |
Z
zengyawen 已提交
423 424
| ----------- | ------------------- | ---- | ------------------------------------------------------------ |
| phoneNumber | string              | 是   | 电话号码。                                                   |
C
clevercong 已提交
425
| options     | NumberFormatOptions | 是   | 格式化参数,参考[NumberFormatOptions](#numberformatoptions7)。 |
Z
zengyawen 已提交
426

Z
zengyawen 已提交
427
**返回值:**
Z
zengyawen 已提交
428

Z
zengyawen 已提交
429 430 431
| 类型                  | 说明                                        |
| --------------------- | ------------------------------------------- |
| Promise&lt;string&gt; | 以Promise形式异步返回格式化电话号码的结果。 |
C
clevercong 已提交
432

Z
zengyawen 已提交
433
**示例:**
C
clevercong 已提交
434

Z
zengyawen 已提交
435
```js
Z
zengyawen 已提交
436 437 438 439 440 441 442 443 444
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)}`);
});
```
C
clevercong 已提交
445

C
clevercong 已提交
446
## call.formatPhoneNumberToE164<sup>7+</sup>
C
clevercong 已提交
447 448 449 450 451

formatPhoneNumberToE164\(phoneNumber: string, countryCode: string, callback: AsyncCallback<string\>\): void

将电话号码格式化为E.164表示形式,使用callback方式作为异步方法。

Z
zengyawen 已提交
452
需要格式化的电话号码需要与传入国家码相匹配,如中国电话号码需要传入国家码CN,否则格式化后的电话号码为null。
C
clevercong 已提交
453 454 455

支持所有国家码。

456 457
**系统能力**:SystemCapability.Telephony.CallManager

Z
zengyawen 已提交
458
**参数:**
Z
zengyawen 已提交
459

C
clevercong 已提交
460
| 参数名      | 类型                        | 必填 | 说明                                                  |
Z
zengyawen 已提交
461 462 463 464
| ----------- | --------------------------- | ---- | ----------------------------------------------------- |
| phoneNumber | string                      | 是   | 电话号码。                                            |
| countryCode | string                      | 是   | 国家码,支持所有国家码,如:中国(CN)。              |
| callback    | AsyncCallback&lt;string&gt; | 是   | 回调函数,返回将电话号码格式化为E.164表示形式的结果。 |
C
clevercong 已提交
465

Z
zengyawen 已提交
466
**示例:**
C
clevercong 已提交
467

Z
zengyawen 已提交
468
```js
Z
zengyawen 已提交
469 470 471 472 473 474
call.formatPhoneNumberToE164("138xxxxxxxx",{
    countryCode: "CN"
}, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
475 476


C
clevercong 已提交
477
## call.formatPhoneNumberToE164<sup>7+</sup>
C
clevercong 已提交
478 479 480 481 482

formatPhoneNumberToE164\(phoneNumber: string, countryCode: string\): Promise<string\>

将电话号码格式化为E.164表示形式,使用promise方式作为异步方法。

Z
zengyawen 已提交
483
需要格式化的电话号码需要与传入国家码相匹配,如中国电话号码需要传入国家码CN,否则格式化后的电话号码为null。
C
clevercong 已提交
484 485 486

支持所有国家码。

487 488
**系统能力**:SystemCapability.Telephony.CallManager

Z
zengyawen 已提交
489
**参数:**
Z
zengyawen 已提交
490

C
clevercong 已提交
491
| 参数名      | 类型   | 必填 | 说明                                     |
Z
zengyawen 已提交
492 493 494
| ----------- | ------ | ---- | ---------------------------------------- |
| phoneNumber | string | 是   | 电话号码。                               |
| countryCode | string | 是   | 国家码,支持所有国家码,如:中国(CN)。 |
Z
zengyawen 已提交
495

Z
zengyawen 已提交
496
**返回值:**
Z
zengyawen 已提交
497

Z
zengyawen 已提交
498 499 500
| 类型                  | 说明                                                         |
| --------------------- | ------------------------------------------------------------ |
| Promise&lt;string&gt; | 以Promise形式异步返回将电话号码格式化为E.164表示形式的结果。 |
C
clevercong 已提交
501

Z
zengyawen 已提交
502
**示例:**
C
clevercong 已提交
503

Z
zengyawen 已提交
504
```js
Z
zengyawen 已提交
505 506 507 508 509 510 511 512 513
let promise = call.formatPhoneNumberToE164("138xxxxxxxx", {
    countryCode: "CN"
});
promise.then(data => {
    console.log(`formatPhoneNumberToE164 success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.error(`formatPhoneNumberToE164 fail, promise: err->${JSON.stringify(err)}`);
});
```
C
clevercong 已提交
514

C
clevercong 已提交
515
## DialOptions
C
clevercong 已提交
516 517

拨打电话的可选参数。
518

C
clevercong 已提交
519
**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CallManager。
520

C
clevercong 已提交
521
| 参数名 | 类型    | 必填 | 说明                                                         |
Z
zengyawen 已提交
522
| ------ | ------- | ---- | ------------------------------------------------------------ |
523
| extras | boolean | 否   | 根据extras的值判断是否为视频通话,默认为语音通话。<br/>- true:视频通话。<br/>- false:语音通话。 |
C
clevercong 已提交
524

C
clevercong 已提交
525
## CallState
C
clevercong 已提交
526 527

通话状态码。
528

C
clevercong 已提交
529 530 531
**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CallManager。

| 名称               | 值   | 说明                                                         |
Z
zengyawen 已提交
532
| ------------------ | ---- | ------------------------------------------------------------ |
C
clevercong 已提交
533 534 535 536
| CALL_STATE_UNKNOWN | -1   | 无效状态,当获取呼叫状态失败时返回。                         |
| CALL_STATE_IDLE    | 0    | 表示没有正在进行的呼叫。                                     |
| CALL_STATE_RINGING | 1    | 表示来电正在振铃或等待。                                     |
| CALL_STATE_OFFHOOK | 2    | 表示至少有一个呼叫处于拨号、通话中或呼叫保持状态,并且没有新的来电振铃或等待。 |
C
clevercong 已提交
537

C
clevercong 已提交
538
## EmergencyNumberOptions<sup>7+</sup>
C
clevercong 已提交
539 540

判断是否是紧急电话号码的可选参数。
541

C
clevercong 已提交
542
**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CallManager。
543

C
clevercong 已提交
544
| 参数名 | 类型   | 必填 | 说明                                       |
Z
zengyawen 已提交
545 546
| ------ | ------ | ---- | ------------------------------------------ |
| slotId | number | 否   | 卡槽ID:<br/>- 0:卡槽1。<br/>- 1:卡槽2。 |
C
clevercong 已提交
547

C
clevercong 已提交
548
## NumberFormatOptions<sup>7+</sup>
C
clevercong 已提交
549 550

格式化号码的可选参数。
551

C
clevercong 已提交
552
**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CallManager。
553

C
clevercong 已提交
554
| 参数名      | 类型   | 必填 | 说明                                                       |
Z
zengyawen 已提交
555 556
| ----------- | ------ | ---- | ---------------------------------------------------------- |
| countryCode | string | 否   | 国家码,支持所有国家的国家码,如:中国(CN)。默认为:CN。 |