1# @ohos.telephony.sms (短信服务) 2 3短信服务提供了管理短信的一些基础能力,包括创建、发送短信,获取、设置发送短信的默认SIM卡槽ID,获取、设置短信服务中心(SMSC)地址,以及检查当前设备是否具备短信发送和接收能力等。 4 5>**说明:** 6> 7>本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```ts 12import sms from '@ohos.telephony.sms'; 13``` 14 15## sms.createMessage 16 17createMessage\(pdu: Array<number>, specification: string, callback: AsyncCallback\<ShortMessage\>\): void 18 19根据协议数据单元(PDU)和指定的短信协议创建短信实例。使用callback异步回调。 20 21**系统能力**:SystemCapability.Telephony.SmsMms 22 23**参数:** 24 25| 参数名 | 类型 | 必填 | 说明 | 26| ------------- | -------------------------------------------------- | ---- | ------------------------------------------------------------ | 27| pdu | Array<number> | 是 | 协议数据单元,从收到的信息中获取。 | 28| specification | string | 是 | 短信协议类型。<br/>- 3gpp:表示GSM/UMTS/LTE SMS<br/>- 3gpp2:表示CDMA SMS | 29| callback | AsyncCallback<[ShortMessage](#shortmessage)> | 是 | 回调函数。 | 30 31**错误码:** 32 33以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 34 35| 错误码ID | 错误信息 | 36| -------- | -------------------------------------------- | 37| 401 | Parameter error. | 38| 8300001 | Invalid parameter value. | 39| 8300002 | Operation failed. Cannot connect to service. | 40| 8300003 | System internal error. | 41| 8300999 | Unknown error code. | 42 43**示例:** 44 45```ts 46import sms from '@ohos.telephony.sms'; 47import { BusinessError } from '@ohos.base'; 48 49const specification: string = '3gpp'; 50// 以数组的形式显示协议数据单元(PDU),类型为number,例如[0x08, 0x91, ...] 51const pdu: Array<number> = [0x08, 0x91]; 52sms.createMessage(pdu, specification, (err: BusinessError, data: sms.ShortMessage) => { 53 console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 54}); 55``` 56 57 58## sms.createMessage 59 60createMessage\(pdu: Array<number>, specification: string\): Promise\<ShortMessage\> 61 62根据协议数据单元(PDU)和指定的短信协议创建短信实例。使用Promise异步回调。 63 64**系统能力**:SystemCapability.Telephony.SmsMms 65 66**参数:** 67 68| 参数名 | 类型 | 必填 | 说明 | 69| ------------- | ------------------- | ---- | ------------------------------------------------------------ | 70| pdu | Array<number> | 是 | 协议数据单元,从收到的信息中获取。 | 71| specification | string | 是 | 短信协议类型。<br/>- 3gpp:表示GSM/UMTS/LTE SMS<br/>- 3gpp2:表示CDMA SMS | 72 73**返回值:** 74 75| 类型 | 说明 | 76| -------------------------------------------- | --------------------------------- | 77| Promise<[ShortMessage](#shortmessage)> | 以Promise形式返回创建的短信实例。 | 78 79**错误码:** 80 81以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 82 83| 错误码ID | 错误信息 | 84| -------- | -------------------------------------------- | 85| 401 | Parameter error. | 86| 8300001 | Invalid parameter value. | 87| 8300002 | Operation failed. Cannot connect to service. | 88| 8300003 | System internal error. | 89| 8300999 | Unknown error code. | 90 91**示例:** 92 93```ts 94import sms from '@ohos.telephony.sms'; 95import { BusinessError } from '@ohos.base'; 96 97const specification: string = '3gpp'; 98// 以数组的形式显示协议数据单元(PDU),类型为number,例如[0x08, 0x91, ...] 99const pdu: Array<number> = [0x08, 0x91]; 100sms.createMessage(pdu, specification).then((data: sms.ShortMessage) => { 101 console.log(`createMessage success, promise: data->${JSON.stringify(data)}`); 102}).catch((err: BusinessError) => { 103 console.error(`createMessage failed, promise: err->${JSON.stringify(err)}`); 104}); 105``` 106 107## sms.sendMessage<sup>(deprecated)</sup> 108 109sendMessage\(options: SendMessageOptions\): void 110 111发送短信。 112 113> **说明:** 114> 115> 从 API version 8开始支持,从API version 10开始废弃。建议使用[sendShortMessage](#smssendshortmessage10)替代。 116 117**需要权限**:ohos.permission.SEND_MESSAGES 118 119**系统能力**:SystemCapability.Telephony.SmsMms 120 121**参数:** 122 123| 参数名 | 类型 | 必填 | 说明 | 124| ------- | ----------------------------------------- | ---- | ------------------------------------------------------------ | 125| options | [SendMessageOptions](#sendmessageoptions) | 是 | 发送短信的参数和回调,参考[SendMessageOptions](#sendmessageoptions)。 | 126 127**错误码:** 128 129以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 130 131| 错误码ID | 错误信息 | 132| -------- | -------------------------------------------- | 133| 201 | Permission denied. | 134| 401 | Parameter error. | 135| 8300001 | Invalid parameter value. | 136| 8300002 | Operation failed. Cannot connect to service. | 137| 8300003 | System internal error. | 138| 8300999 | Unknown error code. | 139 140**示例:** 141 142```ts 143import sms from '@ohos.telephony.sms'; 144import { AsyncCallback } from '@ohos.base'; 145import { BusinessError } from '@ohos.base'; 146 147let sendCallback: AsyncCallback<sms.ISendShortMessageCallback> = (err: BusinessError, data: sms.ISendShortMessageCallback[]) => { 148 console.log(`sendCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 149} 150let deliveryCallback: AsyncCallback<sms.IDeliveryShortMessageCallback> = (err: BusinessError, data: sms.IDeliveryShortMessageCallback) => { 151 console.log(`deliveryCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 152} 153let options: sms.SendMessageOptions = { 154 slotId: 0, 155 content: '短信内容', 156 destinationHost: '+861xxxxxxxxxx', 157 serviceCenter: '+861xxxxxxxxxx', 158 destinationPort: 1000, 159 sendCallback: sendCallback, 160 deliveryCallback: deliveryCallback 161}; 162sms.sendMessage(options); 163``` 164 165## sms.sendShortMessage<sup>10+</sup> 166 167sendShortMessage\(options: SendMessageOptions, callback: AsyncCallback<void>\): void 168 169发送短信。使用callback异步回调。 170 171**需要权限**:ohos.permission.SEND_MESSAGES 172 173**系统能力**:SystemCapability.Telephony.SmsMms 174 175**参数:** 176 177| 参数名 | 类型 | 必填 | 说明 | 178| -------- | --------------------------- | ---- | ---------------------------------------- | 179| options | [SendMessageOptions](#sendmessageoptions) | 是 | 发送短信的参数和回调,参考[SendMessageOptions](#sendmessageoptions)。 | 180| callback | AsyncCallback<void> | 是 | 回调函数。 | 181 182**错误码:** 183 184以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 185 186| 错误码ID | 错误信息 | 187| -------- | -------------------------------------------- | 188| 201 | Permission denied. | 189| 401 | Parameter error. | 190| 8300001 | Invalid parameter value. | 191| 8300002 | Operation failed. Cannot connect to service. | 192| 8300003 | System internal error. | 193| 8300999 | Unknown error code. | 194 195**示例:** 196 197```ts 198import sms from '@ohos.telephony.sms'; 199import { AsyncCallback } from '@ohos.base'; 200import { BusinessError } from '@ohos.base'; 201 202let sendCallback: AsyncCallback<sms.ISendShortMessageCallback> = (err: BusinessError, data: sms.ISendShortMessageCallback) => { 203 console.log(`sendCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 204} 205let deliveryCallback: AsyncCallback<sms.IDeliveryShortMessageCallback> = (err: BusinessError, data: sms.IDeliveryShortMessageCallback) => { 206 console.log(`deliveryCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 207} 208let options: sms.SendMessageOptions = { 209 slotId: 0, 210 content: '短信内容', 211 destinationHost: '+861xxxxxxxxxx', 212 serviceCenter: '+861xxxxxxxxxx', 213 destinationPort: 1000, 214 sendCallback: sendCallback, 215 deliveryCallback: deliveryCallback 216}; 217sms.sendShortMessage(options, (err: BusinessError) => { 218 console.log(`callback: err->${JSON.stringify(err)}`); 219}); 220``` 221 222## sms.sendShortMessage<sup>10+</sup> 223 224sendShortMessage\(options: SendMessageOptions\): Promise<void> 225 226发送短信。使用Promise异步回调。 227 228**需要权限**:ohos.permission.SEND_MESSAGES 229 230**系统能力**:SystemCapability.Telephony.SmsMms 231 232**参数:** 233 234| 参数名 | 类型 | 必填 | 说明 | 235| -------- | --------------------------- | ---- | ---------------------------------------- | 236| options | [SendMessageOptions](#sendmessageoptions) | 是 | 发送短信的参数和回调,参考[SendMessageOptions](#sendmessageoptions)。 | 237 238**返回值:** 239 240| 类型 | 说明 | 241| --------------- | ------------------------------------------------------------ | 242| Promise<void> | 以Promise形式返回发送短信的结果。 | 243 244**错误码:** 245 246以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 247 248| 错误码ID | 错误信息 | 249| -------- | -------------------------------------------- | 250| 201 | Permission denied. | 251| 401 | Parameter error. | 252| 8300001 | Invalid parameter value. | 253| 8300002 | Operation failed. Cannot connect to service. | 254| 8300003 | System internal error. | 255| 8300999 | Unknown error code. | 256 257**示例:** 258 259```ts 260import sms from '@ohos.telephony.sms'; 261import { AsyncCallback } from '@ohos.base'; 262import { BusinessError } from '@ohos.base'; 263 264let sendCallback: AsyncCallback<sms.ISendShortMessageCallback> = (err: BusinessError, data: sms.ISendShortMessageCallback) => { 265 console.log(`sendCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 266} 267let deliveryCallback: AsyncCallback<sms.IDeliveryShortMessageCallback> = (err: BusinessError, data: sms.IDeliveryShortMessageCallback) => { 268 console.log(`deliveryCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 269} 270let options: sms.SendMessageOptions = { 271 slotId: 0, 272 content: '短信内容', 273 destinationHost: '+861xxxxxxxxxx', 274 serviceCenter: '+861xxxxxxxxxx', 275 destinationPort: 1000, 276 sendCallback: sendCallback, 277 deliveryCallback: deliveryCallback 278}; 279let promise = sms.sendShortMessage(options); 280promise.then(() => { 281 console.log(`sendShortMessage success`); 282}).catch((err: BusinessError) => { 283 console.error(`sendShortMessage failed, promise: err->${JSON.stringify(err)}`); 284}); 285 286``` 287 288## sms.getDefaultSmsSlotId<sup>7+</sup> 289 290getDefaultSmsSlotId\(callback: AsyncCallback<number>\): void 291 292获取发送短信的默认SIM卡槽ID。使用callback异步回调。 293 294**系统能力**:SystemCapability.Telephony.SmsMms 295 296**参数:** 297 298| 参数名 | 类型 | 必填 | 说明 | 299| -------- | --------------------------- | ---- | ---------------------------------------- | 300| callback | AsyncCallback<number> | 是 | 回调函数。<br/>- 0:卡槽1<br/>- 1:卡槽2 | 301 302**示例:** 303 304```ts 305import sms from '@ohos.telephony.sms'; 306import { BusinessError } from '@ohos.base'; 307 308sms.getDefaultSmsSlotId((err: BusinessError, data: number) => { 309 console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 310}); 311``` 312 313 314## sms.getDefaultSmsSlotId<sup>7+</sup> 315 316getDefaultSmsSlotId\(\): Promise<number> 317 318获取发送短信的默认SIM卡槽ID。使用Promise异步回调。 319 320**系统能力**:SystemCapability.Telephony.SmsMms 321 322**返回值:** 323 324| 类型 | 说明 | 325| --------------- | ------------------------------------------------------------ | 326| Promise<number> | 以Promise形式返回发送短信的默认SIM卡:<br/>- 0:卡槽1<br/>- 1:卡槽2 | 327 328**示例:** 329 330```ts 331import sms from '@ohos.telephony.sms'; 332import { BusinessError } from '@ohos.base'; 333 334sms.getDefaultSmsSlotId().then((data: number) => { 335 console.log(`getDefaultSmsSlotId success, promise: data->${JSON.stringify(data)}`); 336}).catch((err: BusinessError) => { 337 console.error(`getDefaultSmsSlotId failed, promise: err->${JSON.stringify(err)}`); 338}); 339``` 340 341## sms.setDefaultSmsSlotId<sup>7+</sup> 342 343setDefaultSmsSlotId\(slotId: number, callback: AsyncCallback<void>\): void 344 345设置发送短信的默认SIM卡槽ID。使用callback异步回调。 346 347**系统接口:** 此接口为系统接口。 348 349**需要权限**:ohos.permission.SET_TELEPHONY_STATE 350 351**系统能力**:SystemCapability.Telephony.SmsMms 352 353**参数:** 354 355| 参数名 | 类型 | 必填 | 说明 | 356| -------- | ------------------------- | ---- | ------------------------------------------------------------ | 357| slotId | number | 是 | SIM卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2<br/>- -1:清除默认配置 | 358| callback | AsyncCallback<void> | 是 | 回调函数。 | 359 360**错误码:** 361 362以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 363 364| 错误码ID | 错误信息 | 365| -------- | -------------------------------------------- | 366| 201 | Permission denied. | 367| 202 | Non-system applications use system APIs. | 368| 401 | Parameter error. | 369| 8300001 | Invalid parameter value. | 370| 8300002 | Operation failed. Cannot connect to service. | 371| 8300003 | System internal error. | 372| 8300004 | Do not have sim card. | 373| 8300999 | Unknown error code. | 374 375**示例:** 376 377```ts 378import sms from '@ohos.telephony.sms'; 379import { BusinessError } from '@ohos.base'; 380 381sms.setDefaultSmsSlotId(0, (err: BusinessError) => { 382 console.log(`callback: err->${JSON.stringify(err)}.`); 383}); 384``` 385 386 387## sms.setDefaultSmsSlotId<sup>7+</sup> 388 389setDefaultSmsSlotId\(slotId: number\): Promise<void> 390 391设置发送短信的默认SIM卡槽ID。使用Promise异步回调。 392 393**系统接口:** 此接口为系统接口。 394 395**需要权限**:ohos.permission.SET_TELEPHONY_STATE 396 397**系统能力**:SystemCapability.Telephony.SmsMms 398 399**参数:** 400 401| 参数名 | 类型 | 必填 | 说明 | 402| ------ | ------ | ---- | ------------------------------------------------------------ | 403| slotId | number | 是 | SIM卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2<br/>- -1:清除默认配置 | 404 405**返回值:** 406 407| 类型 | 说明 | 408| --------------- | ------------------------------- | 409| Promise\<void\> | 以Promise形式异步返回设置结果。 | 410 411**错误码:** 412 413以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 414 415| 错误码ID | 错误信息 | 416| -------- | -------------------------------------------- | 417| 201 | Permission denied. | 418| 202 | Non-system applications use system APIs. | 419| 401 | Parameter error. | 420| 8300001 | Invalid parameter value. | 421| 8300002 | Operation failed. Cannot connect to service. | 422| 8300003 | System internal error. | 423| 8300004 | Do not have sim card. | 424| 8300999 | Unknown error code. | 425 426**示例:** 427 428```ts 429import sms from '@ohos.telephony.sms'; 430import { BusinessError } from '@ohos.base'; 431 432sms.setDefaultSmsSlotId(0).then(() => { 433 console.log(`setDefaultSmsSlotId success.`); 434}).catch((err: BusinessError) => { 435 console.error(`setDefaultSmsSlotId failed, promise: err->${JSON.stringify(err)}`); 436}); 437``` 438 439## sms.setSmscAddr<sup>7+</sup> 440 441setSmscAddr\(slotId: number, smscAddr: string, callback: AsyncCallback\<void\>\): void 442 443设置短信服务中心(SMSC)地址。使用callback异步回调。 444 445**系统接口:** 此接口为系统接口。 446 447**需要权限**:ohos.permission.SET_TELEPHONY_STATE,该权限为系统权限 448 449**系统能力**:SystemCapability.Telephony.SmsMms 450 451**参数:** 452 453| 参数名 | 类型 | 必填 | 说明 | 454| -------- | ------------------------- | ---- | ----------------------------------------- | 455| slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 | 456| smscAddr | string | 是 | 短信服务中心地址。 | 457| callback | AsyncCallback<void> | 是 | 回调函数。 | 458 459**错误码:** 460 461以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 462 463| 错误码ID | 错误信息 | 464| -------- | -------------------------------------------- | 465| 201 | Permission denied. | 466| 202 | Non-system applications use system APIs. | 467| 401 | Parameter error. | 468| 8300001 | Invalid parameter value. | 469| 8300002 | Operation failed. Cannot connect to service. | 470| 8300003 | System internal error. | 471| 8300999 | Unknown error code. | 472 473**示例:** 474 475```ts 476import sms from '@ohos.telephony.sms'; 477import { BusinessError } from '@ohos.base'; 478 479let slotId: number = 0; 480let smscAddr: string = '+861xxxxxxxxxx'; 481sms.setSmscAddr(slotId, smscAddr, (err: BusinessError) => { 482 console.log(`callback: err->${JSON.stringify(err)}`); 483}); 484``` 485 486 487## sms.setSmscAddr<sup>7+</sup> 488 489setSmscAddr\(slotId: number, smscAddr: string\): Promise\<void\> 490 491设置短信服务中心(SMSC)地址。使用Promise异步回调。 492 493**系统接口:** 此接口为系统接口。 494 495**需要权限**:ohos.permission.SET_TELEPHONY_STATE,该权限为系统权限 496 497**系统能力**:SystemCapability.Telephony.SmsMms 498 499**参数:** 500 501| 参数名 | 类型 | 必填 | 说明 | 502| -------- | ------ | ---- | ----------------------------------------- | 503| slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 | 504| smscAddr | string | 是 | 短信服务中心地址。 | 505 506**返回值:** 507 508| 类型 | 说明 | 509| ------------------- | ------------------------------- | 510| Promise<void> | 以Promise形式异步返回设置结果。 | 511 512**错误码:** 513 514以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 515 516| 错误码ID | 错误信息 | 517| -------- | -------------------------------------------- | 518| 201 | Permission denied. | 519| 202 | Non-system applications use system APIs. | 520| 401 | Parameter error. | 521| 8300001 | Invalid parameter value. | 522| 8300002 | Operation failed. Cannot connect to service. | 523| 8300003 | System internal error. | 524| 8300999 | Unknown error code. | 525 526**示例:** 527 528```ts 529import sms from '@ohos.telephony.sms'; 530import { BusinessError } from '@ohos.base'; 531 532let slotId: number = 0; 533let smscAddr: string = '+861xxxxxxxxxx'; 534sms.setSmscAddr(slotId, smscAddr).then(() => { 535 console.log(`setSmscAddr success.`); 536}).catch((err: BusinessError) => { 537 console.error(`setSmscAddr failed, promise: err->${JSON.stringify(err)}`); 538}); 539``` 540 541 542## sms.getSmscAddr<sup>7+</sup> 543 544getSmscAddr\(slotId: number, callback: AsyncCallback\<string\>\): void 545 546获取短信服务中心(SMSC)地址。使用callback异步回调。 547 548**系统接口:** 此接口为系统接口。 549 550**需要权限**:ohos.permission.GET_TELEPHONY_STATE,该权限为系统权限 551 552**系统能力**:SystemCapability.Telephony.SmsMms 553 554**参数:** 555 556| 参数名 | 类型 | 必填 | 说明 | 557| -------- | --------------------------- | ---- | ----------------------------------------- | 558| slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 | 559| callback | AsyncCallback<string> | 是 | 回调函数。 | 560 561**错误码:** 562 563以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 564 565| 错误码ID | 错误信息 | 566| -------- | -------------------------------------------- | 567| 201 | Permission denied. | 568| 202 | Non-system applications use system APIs. | 569| 401 | Parameter error. | 570| 8300001 | Invalid parameter value. | 571| 8300002 | Operation failed. Cannot connect to service. | 572| 8300003 | System internal error. | 573| 8300999 | Unknown error code. | 574 575**示例:** 576 577```ts 578import sms from '@ohos.telephony.sms'; 579import { BusinessError } from '@ohos.base'; 580 581let slotId: number = 0; 582sms.getSmscAddr(slotId, (err: BusinessError, data: string) => { 583 console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 584}); 585``` 586 587 588## sms.getSmscAddr<sup>7+</sup> 589 590getSmscAddr\(slotId: number\): Promise\<string\> 591 592获取短信服务中心(SMSC)地址。使用Promise异步回调。 593 594**系统接口:** 此接口为系统接口。 595 596**需要权限**:ohos.permission.GET_TELEPHONY_STATE,该权限为系统权限 597 598**系统能力**:SystemCapability.Telephony.SmsMms 599 600**参数:** 601 602| 参数名 | 类型 | 必填 | 说明 | 603| ------ | ------ | ---- | ----------------------------------------- | 604| slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 | 605 606**返回值:** 607 608| 类型 | 说明 | 609| --------------------- | --------------------------------------------- | 610| Promise<string> | 以Promise形式返回获取短信服务中心地址的结果。 | 611 612**错误码:** 613 614以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 615 616| 错误码ID | 错误信息 | 617| -------- | -------------------------------------------- | 618| 201 | Permission denied. | 619| 202 | Non-system applications use system APIs. | 620| 401 | Parameter error. | 621| 8300001 | Invalid parameter value. | 622| 8300002 | Operation failed. Cannot connect to service. | 623| 8300003 | System internal error. | 624| 8300999 | Unknown error code. | 625 626**示例:** 627 628```ts 629import sms from '@ohos.telephony.sms'; 630import { BusinessError } from '@ohos.base'; 631 632let slotId: number = 0; 633sms.getSmscAddr(slotId).then((data: string) => { 634 console.log(`getSmscAddr success, promise: data->${JSON.stringify(data)}`); 635}).catch((err: BusinessError) => { 636 console.error(`getSmscAddr failed, promise: err->${JSON.stringify(err)}`); 637}); 638``` 639 640## sms.hasSmsCapability<sup>7+</sup> 641 642hasSmsCapability\(\): boolean 643 644检查当前设备是否具备短信发送和接收能力,该方法是同步方法。 645 646**系统能力**:SystemCapability.Telephony.SmsMms 647 648**返回值:** 649 650| 类型 | 说明 | 651| ------- | ------------------------------------------------------------ | 652| boolean | - true:设备具备短信发送和接收能力。<br/>- false:设备不具备短信发送和接收能力。 | 653 654```ts 655import sms from '@ohos.telephony.sms'; 656 657let result = sms.hasSmsCapability(); 658console.log(`hasSmsCapability: ${JSON.stringify(result)}`); 659``` 660 661## sms.splitMessage<sup>8+</sup> 662 663splitMessage\(content: string, callback: AsyncCallback\<Array\<string\>\>\): void 664 665将长短信拆分为多个片段。使用callback异步回调。 666 667**系统接口:** 此接口为系统接口。 668 669**需要权限**:ohos.permission.SEND_MESSAGES 670 671**系统能力**:SystemCapability.Telephony.SmsMms 672 673**参数:** 674 675| 参数名 | 类型 | 必填 | 说明 | 676| -------- | ----------------------------- | ---- | ----------------------------- | 677| content | string | 是 | 指示短消息内容,不能为null。 | 678| callback | AsyncCallback<Array<string\>> | 是 | 回调函数。 | 679 680**错误码:** 681 682以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 683 684| 错误码ID | 错误信息 | 685| -------- | -------------------------------------------- | 686| 201 | Permission denied. | 687| 202 | Non-system applications use system APIs. | 688| 401 | Parameter error. | 689| 8300001 | Invalid parameter value. | 690| 8300002 | Operation failed. Cannot connect to service. | 691| 8300003 | System internal error. | 692| 8300999 | Unknown error code. | 693 694**示例:** 695 696```ts 697import sms from '@ohos.telephony.sms'; 698import { BusinessError } from '@ohos.base'; 699 700let content: string = "long message"; 701sms.splitMessage(content, (err: BusinessError, data: string[]) => { 702 console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 703}); 704``` 705 706 707## sms.splitMessage<sup>8+</sup> 708 709splitMessage\(content: string\): Promise\<Array\<string\>\> 710 711将长短信拆分为多个片段。使用Promise异步回调。 712 713**系统接口:** 此接口为系统接口。 714 715**需要权限**:ohos.permission.SEND_MESSAGES 716 717**系统能力**:SystemCapability.Telephony.SmsMms 718 719**参数:** 720 721| 参数名 | 类型 | 必填 | 说明 | 722| ------- | ------ | ---- | ---------------------------- | 723| content | string | 是 | 指示短消息内容,不能为null。 | 724 725**返回值:** 726 727| 类型 | 说明 | 728| ----------------------- | ----------------------------------- | 729| Promise<Array<string\>> | 以Promise形式返回多个片段的的结果。 | 730 731**错误码:** 732 733以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 734 735| 错误码ID | 错误信息 | 736| -------- | -------------------------------------------- | 737| 201 | Permission denied. | 738| 202 | Non-system applications use system APIs. | 739| 401 | Parameter error. | 740| 8300001 | Invalid parameter value. | 741| 8300002 | Operation failed. Cannot connect to service. | 742| 8300003 | System internal error. | 743| 8300999 | Unknown error code. | 744 745**示例:** 746 747```ts 748import sms from '@ohos.telephony.sms'; 749import { BusinessError } from '@ohos.base'; 750 751let content: string = "long message"; 752let promise = sms.splitMessage(content); 753promise.then((data: string[]) => { 754 console.log(`splitMessage success, promise: data->${JSON.stringify(data)}`); 755}).catch((err: BusinessError) => { 756 console.error(`splitMessage failed, promise: err->${JSON.stringify(err)}`); 757}); 758``` 759 760## sms.addSimMessage<sup>7+</sup> 761 762addSimMessage\(options: SimMessageOptions, callback: AsyncCallback\<void\>\): void 763 764添加SIM卡消息。使用callback异步回调。 765 766**系统接口:** 此接口为系统接口。 767 768**需要权限**:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES 769 770**系统能力**:SystemCapability.Telephony.SmsMms 771 772**参数:** 773 774| 参数名 | 类型 | 必填 | 说明 | 775| -------- | ---------------------------------------- | ---- | --------------- | 776| options | [SimMessageOptions](#simmessageoptions7) | 是 | SIM卡消息选项。 | 777| callback | AsyncCallback<void> | 是 | 回调函数。 | 778 779**错误码:** 780 781以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 782 783| 错误码ID | 错误信息 | 784| -------- | -------------------------------------------- | 785| 201 | Permission denied. | 786| 202 | Non-system applications use system APIs. | 787| 401 | Parameter error. | 788| 8300001 | Invalid parameter value. | 789| 8300002 | Operation failed. Cannot connect to service. | 790| 8300003 | System internal error. | 791| 8300999 | Unknown error code. | 792 793**示例:** 794 795```ts 796import sms from '@ohos.telephony.sms'; 797import { BusinessError } from '@ohos.base'; 798 799let simMessageOptions: sms.SimMessageOptions = { 800 slotId: 0, 801 smsc: "test", 802 pdu: "xxxxxx", 803 status: sms.SimMessageStatus.SIM_MESSAGE_STATUS_READ 804}; 805sms.addSimMessage(simMessageOptions, (err: BusinessError) => { 806 console.log(`callback: err->${JSON.stringify(err)}`); 807}); 808``` 809 810 811## sms.addSimMessage<sup>7+</sup> 812 813addSimMessage\(options: SimMessageOptions\): Promise\<void\> 814 815添加SIM卡消息。使用Promise异步回调。 816 817**系统接口:** 此接口为系统接口。 818 819**需要权限**:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES 820 821**系统能力**:SystemCapability.Telephony.SmsMms 822 823**参数:** 824 825| 参数名 | 类型 | 必填 | 说明 | 826| ------- | ---------------------------------------- | ---- | --------------- | 827| options | [SimMessageOptions](#simmessageoptions7) | 是 | SIM卡消息选项。 | 828 829**返回值:** 830 831| 类型 | 说明 | 832| ------------------- | ----------------------------- | 833| Promise<void> | 以Promise形式返回添加的结果。 | 834 835**错误码:** 836 837以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 838 839| 错误码ID | 错误信息 | 840| -------- | -------------------------------------------- | 841| 201 | Permission denied. | 842| 202 | Non-system applications use system APIs. | 843| 401 | Parameter error. | 844| 8300001 | Invalid parameter value. | 845| 8300002 | Operation failed. Cannot connect to service. | 846| 8300003 | System internal error. | 847| 8300999 | Unknown error code. | 848 849**示例:** 850 851```ts 852import sms from '@ohos.telephony.sms'; 853import { BusinessError } from '@ohos.base'; 854 855let simMessageOptions: sms.SimMessageOptions = { 856 slotId: 0, 857 smsc: "test", 858 pdu: "xxxxxx", 859 status: sms.SimMessageStatus.SIM_MESSAGE_STATUS_READ 860}; 861sms.addSimMessage(simMessageOptions).then(() => { 862 console.log(`addSimMessage success.`); 863}).catch((err: BusinessError) => { 864 console.error(`addSimMessage failed, promise: err->${JSON.stringify(err)}`); 865}); 866``` 867 868## sms.delSimMessage<sup>7+</sup> 869 870delSimMessage\(slotId: number, msgIndex: number, callback: AsyncCallback\<void\>\): void 871 872删除SIM卡消息。使用callback异步回调。 873 874**系统接口:** 此接口为系统接口。 875 876**需要权限**:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES 877 878**系统能力**:SystemCapability.Telephony.SmsMms 879 880**参数:** 881 882| 参数名 | 类型 | 必填 | 说明 | 883| -------- | ------------------------- | ---- | ----------------------------------------- | 884| slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 | 885| msgIndex | number | 是 | 消息索引。 | 886| callback | AsyncCallback<void> | 是 | 回调函数。 | 887 888**错误码:** 889 890以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 891 892| 错误码ID | 错误信息 | 893| -------- | -------------------------------------------- | 894| 201 | Permission denied. | 895| 202 | Non-system applications use system APIs. | 896| 401 | Parameter error. | 897| 8300001 | Invalid parameter value. | 898| 8300002 | Operation failed. Cannot connect to service. | 899| 8300003 | System internal error. | 900| 8300999 | Unknown error code. | 901 902**示例:** 903 904```ts 905import sms from '@ohos.telephony.sms'; 906import { BusinessError } from '@ohos.base'; 907 908let slotId: number = 0; 909let msgIndex: number = 1; 910sms.delSimMessage(slotId, msgIndex, (err: BusinessError) => { 911 console.log(`callback: err->${JSON.stringify(err)}`); 912}); 913``` 914 915 916## sms.delSimMessage<sup>7+</sup> 917 918delSimMessage\(slotId: number, msgIndex: number\): Promise\<void\> 919 920删除SIM卡信息。使用Promise异步回调。 921 922**系统接口:** 此接口为系统接口。 923 924**需要权限**:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES 925 926**系统能力**:SystemCapability.Telephony.SmsMms 927 928**参数:** 929 930| 参数名 | 类型 | 必填 | 说明 | 931| -------- | ------ | ---- | ----------------------------------------- | 932| slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 | 933| msgIndex | number | 是 | 消息索引。 | 934 935**返回值:** 936 937| 类型 | 说明 | 938| ------------------- | ----------------------------- | 939| Promise<void> | 以Promise形式返回删除的结果。 | 940 941**错误码:** 942 943以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 944 945| 错误码ID | 错误信息 | 946| -------- | -------------------------------------------- | 947| 201 | Permission denied. | 948| 202 | Non-system applications use system APIs. | 949| 401 | Parameter error. | 950| 8300001 | Invalid parameter value. | 951| 8300002 | Operation failed. Cannot connect to service. | 952| 8300003 | System internal error. | 953| 8300999 | Unknown error code. | 954 955**示例:** 956 957```ts 958import sms from '@ohos.telephony.sms'; 959import { BusinessError } from '@ohos.base'; 960 961let slotId: number = 0; 962let msgIndex: number = 1; 963let promise = sms.delSimMessage(slotId, msgIndex); 964promise.then(() => { 965 console.log(`delSimMessage success.`); 966}).catch((err: BusinessError) => { 967 console.error(`delSimMessage failed, promise: err->${JSON.stringify(err)}`); 968}); 969``` 970 971## sms.updateSimMessage<sup>7+</sup> 972 973updateSimMessage\(options: UpdateSimMessageOptions, callback: AsyncCallback\<void\>\): void 974 975更新SIM卡消息。使用callback异步回调。 976 977**系统接口:** 此接口为系统接口。 978 979**需要权限**:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES 980 981**系统能力**:SystemCapability.Telephony.SmsMms 982 983**参数:** 984 985| 参数名 | 类型 | 必填 | 说明 | 986| -------- | ---------------------------------------------------- | ---- | ------------------- | 987| options | [UpdateSimMessageOptions](#updatesimmessageoptions7) | 是 | 更新SIM卡消息选项。 | 988| callback | AsyncCallback<void> | 是 | 回调函数。 | 989 990**错误码:** 991 992以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 993 994| 错误码ID | 错误信息 | 995| -------- | -------------------------------------------- | 996| 201 | Permission denied. | 997| 202 | Non-system applications use system APIs. | 998| 401 | Parameter error. | 999| 8300001 | Invalid parameter value. | 1000| 8300002 | Operation failed. Cannot connect to service. | 1001| 8300003 | System internal error. | 1002| 8300999 | Unknown error code. | 1003 1004**示例:** 1005 1006```ts 1007import sms from '@ohos.telephony.sms'; 1008import { BusinessError } from '@ohos.base'; 1009 1010let updateSimMessageOptions: sms.UpdateSimMessageOptions = { 1011 slotId: 0, 1012 msgIndex: 1, 1013 newStatus: sms.SimMessageStatus.SIM_MESSAGE_STATUS_FREE, 1014 pdu: "xxxxxxx", 1015 smsc: "test" 1016}; 1017sms.updateSimMessage(updateSimMessageOptions, (err: BusinessError) => { 1018 console.log(`callback: err->${JSON.stringify(err)}`); 1019}); 1020``` 1021 1022 1023## sms.updateSimMessage<sup>7+</sup> 1024 1025updateSimMessage\(options: UpdateSimMessageOptions\): Promise\<void\> 1026 1027更新SIM卡消息。使用Promise异步回调。 1028 1029**系统接口:** 此接口为系统接口。 1030 1031**需要权限**:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES 1032 1033**系统能力**:SystemCapability.Telephony.SmsMms 1034 1035**参数:** 1036 1037| 参数名 | 类型 | 必填 | 说明 | 1038| ------- | ---------------------------------------------------- | ---- | ------------------- | 1039| options | [UpdateSimMessageOptions](#updatesimmessageoptions7) | 是 | 更新SIM卡消息选项。 | 1040 1041**返回值:** 1042 1043| 类型 | 说明 | 1044| ------------------- | ----------------------------- | 1045| Promise<void> | 以Promise形式返回更新的结果。 | 1046 1047**错误码:** 1048 1049以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 1050 1051| 错误码ID | 错误信息 | 1052| -------- | -------------------------------------------- | 1053| 201 | Permission denied. | 1054| 202 | Non-system applications use system APIs. | 1055| 401 | Parameter error. | 1056| 8300001 | Invalid parameter value. | 1057| 8300002 | Operation failed. Cannot connect to service. | 1058| 8300003 | System internal error. | 1059| 8300999 | Unknown error code. | 1060 1061**示例:** 1062 1063```ts 1064import sms from '@ohos.telephony.sms'; 1065import { BusinessError } from '@ohos.base'; 1066 1067let updateSimMessageOptions: sms.UpdateSimMessageOptions = { 1068 slotId: 0, 1069 msgIndex: 1, 1070 newStatus: sms.SimMessageStatus.SIM_MESSAGE_STATUS_FREE, 1071 pdu: "xxxxxxx", 1072 smsc: "test" 1073}; 1074let promise = sms.updateSimMessage(updateSimMessageOptions); 1075promise.then(() => { 1076 console.log(`updateSimMessage success.`); 1077}).catch((err: BusinessError) => { 1078 console.error(`updateSimMessage failed, promise: err->${JSON.stringify(err)}`); 1079}); 1080``` 1081 1082## sms.getAllSimMessages<sup>7+</sup> 1083 1084getAllSimMessages\(slotId: number, callback: AsyncCallback\<Array\<SimShortMessage\>\>\): void 1085 1086获取所有SIM卡消息。使用callback异步回调。 1087 1088**系统接口:** 此接口为系统接口。 1089 1090**需要权限**:ohos.permission.RECEIVE_SMS 1091 1092**系统能力**:SystemCapability.Telephony.SmsMms 1093 1094**参数:** 1095 1096| 参数名 | 类型 | 必填 | 说明 | 1097| -------- | ----------------------------------------------------------- | ---- | ----------------------------------------- | 1098| slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 | 1099| callback | AsyncCallback<Array<[SimShortMessage](#simshortmessage7)\>> | 是 | 回调函数。 | 1100 1101**错误码:** 1102 1103以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 1104 1105| 错误码ID | 错误信息 | 1106| -------- | -------------------------------------------- | 1107| 201 | Permission denied. | 1108| 202 | Non-system applications use system APIs. | 1109| 401 | Parameter error. | 1110| 8300001 | Invalid parameter value. | 1111| 8300002 | Operation failed. Cannot connect to service. | 1112| 8300003 | System internal error. | 1113| 8300999 | Unknown error code. | 1114 1115**示例:** 1116 1117```ts 1118import sms from '@ohos.telephony.sms'; 1119import { BusinessError } from '@ohos.base'; 1120 1121let slotId: number = 0; 1122sms.getAllSimMessages(slotId, (err: BusinessError, data: sms.SimShortMessage[]) => { 1123 console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 1124}); 1125``` 1126 1127 1128## sms.getAllSimMessages<sup>7+</sup> 1129 1130getAllSimMessages\(slotId: number\): Promise\<Array\<SimShortMessage\>\> 1131 1132获取所有SIM卡消息。使用Promise异步回调。 1133 1134**系统接口:** 此接口为系统接口。 1135 1136**需要权限**:ohos.permission.RECEIVE_SMS 1137 1138**系统能力**:SystemCapability.Telephony.SmsMms 1139 1140**参数:** 1141 1142| 参数名 | 类型 | 必填 | 说明 | 1143| ------ | ------ | ---- | ----------------------------------------- | 1144| slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 | 1145 1146**返回值:** 1147 1148| 类型 | 说明 | 1149| ------------------------------------------------------- | ---------------------------------- | 1150| PromiseArray<[SimShortMessage](#simshortmessage7)\>> | 以Promise形式返回获取的SIM短消息。 | 1151 1152**错误码:** 1153 1154以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 1155 1156| 错误码ID | 错误信息 | 1157| -------- | -------------------------------------------- | 1158| 201 | Permission denied. | 1159| 202 | Non-system applications use system APIs. | 1160| 401 | Parameter error. | 1161| 8300001 | Invalid parameter value. | 1162| 8300002 | Operation failed. Cannot connect to service. | 1163| 8300003 | System internal error. | 1164| 8300999 | Unknown error code. | 1165 1166**示例:** 1167 1168```ts 1169import sms from '@ohos.telephony.sms'; 1170import { BusinessError } from '@ohos.base'; 1171 1172let slotId: number = 0; 1173let promise = sms.getAllSimMessages(slotId); 1174promise.then((data: sms.SimShortMessage) => { 1175 console.log(`getAllSimMessages success, promise: data->${JSON.stringify(data)}`); 1176}).catch((err: BusinessError) => { 1177 console.error(`getAllSimMessages failed, promise: err->${JSON.stringify(err)}`); 1178}); 1179``` 1180 1181## sms.setCBConfig<sup>7+</sup> 1182 1183setCBConfig\(options: CBConfigOptions, callback: AsyncCallback\<void\>\): void 1184 1185设置小区广播配置。使用callback异步回调。 1186 1187**系统接口:** 此接口为系统接口。 1188 1189**需要权限**:ohos.permission.RECEIVE_SMS 1190 1191**系统能力**:SystemCapability.Telephony.SmsMms 1192 1193**参数:** 1194 1195| 参数名 | 类型 | 必填 | 说明 | 1196| -------- | ------------------------------------ | ---- | ------------ | 1197| options | [CBConfigOptions](#cbconfigoptions7) | 是 | 小区广播配置选项。 | 1198| callback | AsyncCallback<void> | 是 | 回调函数。 | 1199 1200**错误码:** 1201 1202以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 1203 1204| 错误码ID | 错误信息 | 1205| -------- | -------------------------------------------- | 1206| 201 | Permission denied. | 1207| 202 | Non-system applications use system APIs. | 1208| 401 | Parameter error. | 1209| 8300001 | Invalid parameter value. | 1210| 8300002 | Operation failed. Cannot connect to service. | 1211| 8300003 | System internal error. | 1212| 8300999 | Unknown error code. | 1213 1214**示例:** 1215 1216```ts 1217import sms from '@ohos.telephony.sms'; 1218import { BusinessError } from '@ohos.base'; 1219 1220let cbConfigOptions: sms.CBConfigOptions = { 1221 slotId: 0, 1222 enable: true, 1223 startMessageId: 100, 1224 endMessageId: 200, 1225 ranType: sms.RanType.TYPE_GSM 1226}; 1227sms.setCBConfig(cbConfigOptions, (err: BusinessError) => { 1228 console.log(`callback: err->${JSON.stringify(err)}`); 1229}); 1230``` 1231 1232 1233## sms.setCBConfig<sup>7+</sup> 1234 1235setCBConfig\(options: CBConfigOptions\): Promise\<void\> 1236 1237设置小区广播配置。使用Promise异步回调。 1238 1239**系统接口:** 此接口为系统接口。 1240 1241**需要权限**:ohos.permission.RECEIVE_SMS 1242 1243**系统能力**:SystemCapability.Telephony.SmsMms 1244 1245**参数:** 1246 1247| 参数名 | 类型 | 必填 | 说明 | 1248| ------- | ------------------------------------ | ---- | ------------ | 1249| options | [CBConfigOptions](#cbconfigoptions7) | 是 | 小区广播配置选项。 | 1250 1251**返回值:** 1252 1253| 类型 | 说明 | 1254| ------------------- | ----------------------------- | 1255| Promise<void> | 以Promise形式返回设置的结果。 | 1256 1257**错误码:** 1258 1259以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 1260 1261| 错误码ID | 错误信息 | 1262| -------- | -------------------------------------------- | 1263| 201 | Permission denied. | 1264| 202 | Non-system applications use system APIs. | 1265| 401 | Parameter error. | 1266| 8300001 | Invalid parameter value. | 1267| 8300002 | Operation failed. Cannot connect to service. | 1268| 8300003 | System internal error. | 1269| 8300999 | Unknown error code. | 1270 1271**示例:** 1272 1273```ts 1274import sms from '@ohos.telephony.sms'; 1275import { BusinessError } from '@ohos.base'; 1276 1277let cbConfigOptions: sms.CBConfigOptions = { 1278 slotId: 0, 1279 enable: true, 1280 startMessageId: 100, 1281 endMessageId: 200, 1282 ranType: sms.RanType.TYPE_GSM 1283}; 1284let promise = sms.setCBConfig(cbConfigOptions); 1285promise.then(() => { 1286 console.log(`setCBConfig success.`); 1287}).catch((err: BusinessError) => { 1288 console.error(`setCBConfig failed, promise: err->${JSON.stringify(err)}`); 1289}); 1290``` 1291 1292## sms.getSmsSegmentsInfo<sup>8+</sup> 1293 1294getSmsSegmentsInfo\(slotId: number, message: string, force7bit: boolean, callback: AsyncCallback\<SmsSegmentsInfo\>\): void 1295 1296获取短信段信息。使用callback异步回调。 1297 1298**系统接口:** 此接口为系统接口。 1299 1300**系统能力**:SystemCapability.Telephony.SmsMms 1301 1302**参数:** 1303 1304| 参数名 | 类型 | 必填 | 说明 | 1305| --------- | ------------------------------------------------------------ | ---- | ----------------------------------------- | 1306| slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 | 1307| message | string | 是 | 消息。 | 1308| force7bit | boolean | 是 | 是否使用7 bit编码。 | 1309| callback | AsyncCallback<[SmsSegmentsInfo](#smssegmentsinfo8)> | 是 | 回调函数。 | 1310 1311**错误码:** 1312 1313以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 1314 1315| 错误码ID | 错误信息 | 1316| -------- | -------------------------------------------- | 1317| 202 | Non-system applications use system APIs. | 1318| 401 | Parameter error. | 1319| 8300001 | Invalid parameter value. | 1320| 8300002 | Operation failed. Cannot connect to service. | 1321| 8300003 | System internal error. | 1322| 8300999 | Unknown error code. | 1323 1324**示例:** 1325 1326```ts 1327import sms from '@ohos.telephony.sms'; 1328import { BusinessError } from '@ohos.base'; 1329 1330let slotId: number = 0; 1331sms.getSmsSegmentsInfo(slotId, "message", false, (err: BusinessError, data: sms.SmsSegmentsInfo) => { 1332 console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 1333}); 1334``` 1335 1336 1337## sms.getSmsSegmentsInfo<sup>8+</sup> 1338 1339getSmsSegmentsInfo\(slotId: number, message: string, force7bit: boolean\): Promise\<SmsSegmentsInfo\> 1340 1341获取短信段信息。使用Promise异步回调。 1342 1343**系统接口:** 此接口为系统接口。 1344 1345**系统能力**:SystemCapability.Telephony.SmsMms 1346 1347**参数:** 1348 1349| 参数名 | 类型 | 必填 | 说明 | 1350| --------- | ------- | ---- | ----------------------------------------- | 1351| slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 | 1352| message | string | 是 | 消息。 | 1353| force7bit | boolean | 是 | 是否使用7 bit编码。 | 1354 1355**返回值:** 1356 1357| 类型 | 说明 | 1358| ------------------------------------------------------- | ----------------------------- | 1359| Promise<[SmsSegmentsInfo](#smssegmentsinfo8)> | 以Promise形式返回短信段信息。 | 1360 1361**错误码:** 1362 1363以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 1364 1365| 错误码ID | 错误信息 | 1366| -------- | -------------------------------------------- | 1367| 202 | Non-system applications use system APIs. | 1368| 401 | Parameter error. | 1369| 8300001 | Invalid parameter value. | 1370| 8300002 | Operation failed. Cannot connect to service. | 1371| 8300003 | System internal error. | 1372| 8300999 | Unknown error code. | 1373 1374**示例:** 1375 1376```ts 1377import sms from '@ohos.telephony.sms'; 1378import { BusinessError } from '@ohos.base'; 1379 1380let slotId: number = 0; 1381let promise = sms.getSmsSegmentsInfo(slotId, "message", false); 1382promise.then((data: sms.SmsSegmentsInfo) => { 1383 console.log(`getSmsSegmentsInfo success, promise: data->${JSON.stringify(data)}`); 1384}).catch((err: BusinessError) => { 1385 console.error(`getSmsSegmentsInfo failed, promise: err->${JSON.stringify(err)}`); 1386}); 1387``` 1388 1389## sms.isImsSmsSupported<sup>8+</sup> 1390 1391isImsSmsSupported\(slotId: number, callback: AsyncCallback\<boolean\>\): void 1392 1393如果IMS已注册并且在IMS上支持SMS,则支持通过IMS发送SMS。使用callback异步回调。 1394 1395**系统接口:** 此接口为系统接口。 1396 1397**系统能力**:SystemCapability.Telephony.SmsMms 1398 1399**参数:** 1400 1401| 参数名 | 类型 | 必填 | 说明 | 1402| -------- | ---------------------------- | ---- | ---------- | 1403| slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 | 1404| callback | AsyncCallback<boolean> | 是 | 回调函数。 | 1405 1406**错误码:** 1407 1408以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 1409 1410| 错误码ID | 错误信息 | 1411| -------- | -------------------------------------------- | 1412| 202 | Non-system applications use system APIs. | 1413| 401 | Parameter error. | 1414| 8300001 | Invalid parameter value. | 1415| 8300002 | Operation failed. Cannot connect to service. | 1416| 8300003 | System internal error. | 1417| 8300999 | Unknown error code. | 1418 1419**示例:** 1420 1421```ts 1422import sms from '@ohos.telephony.sms'; 1423import { BusinessError } from '@ohos.base'; 1424 1425let slotId: number = 0; 1426sms.isImsSmsSupported(slotId, (err: BusinessError, data: boolean) => { 1427 console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 1428}); 1429``` 1430 1431 1432## sms.isImsSmsSupported<sup>8+</sup> 1433 1434isImsSmsSupported\(slotId: number\): Promise\<boolean\> 1435 1436如果IMS已注册并且在IMS上支持SMS,则支持通过IMS发送SMS。使用Promise异步回调。 1437 1438**系统接口:** 此接口为系统接口。 1439 1440**系统能力**:SystemCapability.Telephony.SmsMms 1441 1442**参数:** 1443 1444| 参数名 | 类型 | 必填 | 说明 | 1445| ------ | ------ | ---- | -------------------------------------- | 1446| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | 1447 1448**返回值:** 1449 1450| 类型 | 说明 | 1451| ---------------------- | ----------------------- | 1452| Promise<boolean> | 以Promise形式返回结果。 | 1453 1454**错误码:** 1455 1456以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 1457 1458| 错误码ID | 错误信息 | 1459| -------- | -------------------------------------------- | 1460| 202 | Non-system applications use system APIs. | 1461| 401 | Parameter error. | 1462| 8300001 | Invalid parameter value. | 1463| 8300002 | Operation failed. Cannot connect to service. | 1464| 8300003 | System internal error. | 1465| 8300999 | Unknown error code. | 1466 1467**示例:** 1468 1469```ts 1470import sms from '@ohos.telephony.sms'; 1471import { BusinessError } from '@ohos.base'; 1472 1473let slotId: number = 0; 1474let promise = sms.isImsSmsSupported(slotId); 1475promise.then((data: boolean) => { 1476 console.log(`isImsSmsSupported success, promise: data->${JSON.stringify(data)}`); 1477}).catch((err: BusinessError) => { 1478 console.error(`isImsSmsSupported failed, promise: err->${JSON.stringify(err)}`); 1479}); 1480``` 1481 1482## sms.getImsShortMessageFormat<sup>8+</sup> 1483 1484getImsShortMessageFormat\(callback: AsyncCallback\<string\>\): void 1485 1486获取IMS上支持的SMS格式。使用callback异步回调。 1487 1488**系统接口:** 此接口为系统接口。 1489 1490**系统能力**:SystemCapability.Telephony.SmsMms 1491 1492**参数:** 1493 1494| 参数名 | 类型 | 必填 | 说明 | 1495| -------- | --------------------------- | ---- | ---------- | 1496| callback | AsyncCallback<string> | 是 | 回调函数。 | 1497 1498**错误码:** 1499 1500以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 1501 1502| 错误码ID | 错误信息 | 1503| -------- | -------------------------------------------- | 1504| 202 | Non-system applications use system APIs. | 1505| 401 | Parameter error. | 1506| 8300001 | Invalid parameter value. | 1507| 8300002 | Operation failed. Cannot connect to service. | 1508| 8300003 | System internal error. | 1509| 8300999 | Unknown error code. | 1510 1511**示例:** 1512 1513```ts 1514import sms from '@ohos.telephony.sms'; 1515import { BusinessError } from '@ohos.base'; 1516 1517sms.getImsShortMessageFormat((err: BusinessError, data: string) => { 1518 console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 1519}); 1520``` 1521 1522 1523## sms.getImsShortMessageFormat<sup>8+</sup> 1524 1525getImsShortMessageFormat\(\): Promise\<string\> 1526 1527获取IMS上支持的SMS格式。使用Promise异步回调。 1528 1529**系统接口:** 此接口为系统接口。 1530 1531**系统能力**:SystemCapability.Telephony.SmsMms 1532 1533**返回值:** 1534 1535| 类型 | 说明 | 1536| --------------------- | -------------------------- | 1537| Promise<string> | 以Promise形式返回SMS格式。 | 1538 1539**错误码:** 1540 1541以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 1542 1543| 错误码ID | 错误信息 | 1544| -------- | -------------------------------------------- | 1545| 202 | Non-system applications use system APIs. | 1546| 8300002 | Operation failed. Cannot connect to service. | 1547| 8300003 | System internal error. | 1548| 8300999 | Unknown error code. | 1549 1550**示例:** 1551 1552```ts 1553import sms from '@ohos.telephony.sms'; 1554import { BusinessError } from '@ohos.base'; 1555 1556sms.getImsShortMessageFormat().then((data: string) => { 1557 console.log(`getImsShortMessageFormat success, promise: data->${JSON.stringify(data)}`); 1558}).catch((err: BusinessError) => { 1559 console.error(`getImsShortMessageFormat failed, promise: err->${JSON.stringify(err)}`); 1560}); 1561``` 1562 1563## sms.decodeMms<sup>8+</sup> 1564 1565decodeMms\(mmsFilePathName: string | Array\<number\>, callback: AsyncCallback\<MmsInformation\>\): void 1566 1567彩信解码。使用callback异步回调。 1568 1569**系统接口:** 此接口为系统接口。 1570 1571**系统能力**:SystemCapability.Telephony.SmsMms 1572 1573**参数:** 1574 1575| 参数名 | 类型 | 必填 | 说明 | 1576| --------------- | ------------------------------------------------------- | ---- | -------------- | 1577| mmsFilePathName | string \|Array<number\> | 是 | 彩信文件路径名。 | 1578| callback | AsyncCallback<[MmsInformation](#mmsinformation8)> | 是 | 回调函数。 | 1579 1580**错误码:** 1581 1582以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 1583 1584| 错误码ID | 错误信息 | 1585| -------- | -------------------------------------------- | 1586| 202 | Non-system applications use system APIs. | 1587| 401 | Parameter error. | 1588| 8300001 | Invalid parameter value. | 1589| 8300002 | Operation failed. Cannot connect to service. | 1590| 8300003 | System internal error. | 1591| 8300999 | Unknown error code. | 1592 1593**示例:** 1594 1595```ts 1596import sms from '@ohos.telephony.sms'; 1597import { BusinessError } from '@ohos.base'; 1598 1599let mmsFilePathName: string = "filename"; 1600sms.decodeMms(mmsFilePathName, (err: BusinessError, data: sms.MmsInformation) => { 1601 console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 1602}); 1603``` 1604 1605 1606## sms.decodeMms<sup>8+</sup> 1607 1608decodeMms\(mmsFilePathName: string | Array\<number\>\): Promise\<MmsInformation\> 1609 1610彩信解码。使用Promise异步回调。 1611 1612**系统接口:** 此接口为系统接口。 1613 1614**系统能力**:SystemCapability.Telephony.SmsMms 1615 1616**参数:** 1617 1618| 参数名 | 类型 | 必填 | 说明 | 1619| --------------- | ----------------------- | ---- | -------------- | 1620| mmsFilePathName | string \|Array<number\> | 是 | 彩信文件路径名 | 1621 1622**返回值:** 1623 1624| 类型 | 说明 | 1625| --------------------------------------------------------- | --------------------------- | 1626| Promise<<[MmsInformation](#mmsinformation8)>> | 以Promise形式返回彩信信息。 | 1627 1628**错误码:** 1629 1630以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 1631 1632| 错误码ID | 错误信息 | 1633| -------- | -------------------------------------------- | 1634| 202 | Non-system applications use system APIs. | 1635| 401 | Parameter error. | 1636| 8300001 | Invalid parameter value. | 1637| 8300002 | Operation failed. Cannot connect to service. | 1638| 8300003 | System internal error. | 1639| 8300999 | Unknown error code. | 1640 1641**示例:** 1642 1643```ts 1644import sms from '@ohos.telephony.sms'; 1645import { BusinessError } from '@ohos.base'; 1646 1647let mmsFilePathName: string = "filename"; 1648let promise = sms.decodeMms(mmsFilePathName); 1649promise.then((data: sms.MmsInformation) => { 1650 console.log(`decodeMms success, promise: data->${JSON.stringify(data)}`); 1651}).catch((err: BusinessError) => { 1652 console.error(`decodeMms failed, promise: err->${JSON.stringify(err)}`); 1653}); 1654``` 1655 1656## sms.encodeMms<sup>8+</sup> 1657 1658encodeMms\(mms: MmsInformation, callback: AsyncCallback\<Array\<number\>\>\): void 1659 1660彩信编码。使用callback异步回调。 1661 1662**系统接口:** 此接口为系统接口。 1663 1664**系统能力**:SystemCapability.Telephony.SmsMms 1665 1666**参数:** 1667 1668| 参数名 | 类型 | 必填 | 说明 | 1669| -------- | ----------------------------------- | ---- | ---------- | 1670| mms | [MmsInformation](#mmsinformation8) | 是 | 彩信信息。 | 1671| callback | AsyncCallback<Array<number\>> | 是 | 回调函数。 | 1672 1673**错误码:** 1674 1675以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 1676 1677| 错误码ID | 错误信息 | 1678| -------- | -------------------------------------------- | 1679| 202 | Non-system applications use system APIs. | 1680| 401 | Parameter error. | 1681| 8300001 | Invalid parameter value. | 1682| 8300002 | Operation failed. Cannot connect to service. | 1683| 8300003 | System internal error. | 1684| 8300999 | Unknown error code. | 1685 1686**示例:** 1687 1688```ts 1689import sms from '@ohos.telephony.sms'; 1690import { BusinessError } from '@ohos.base'; 1691 1692let mmsAcknowledgeInd: sms.MmsAcknowledgeInd = { 1693 transactionId: "100", 1694 version: sms.MmsVersionType.MMS_VERSION_1_0, 1695 reportAllowed: sms.ReportType.MMS_YES 1696}; 1697let mmsInformation: sms.MmsInformation = { 1698 messageType: sms.MessageType.TYPE_MMS_ACKNOWLEDGE_IND, 1699 mmsType: mmsAcknowledgeInd 1700}; 1701sms.encodeMms(mmsInformation, (err: BusinessError, data: number[]) => { 1702 console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 1703}); 1704``` 1705 1706 1707## sms.encodeMms<sup>8+</sup> 1708 1709encodeMms\(mms: MmsInformation\): Promise\<Array\<number\>\> 1710 1711彩信编码。使用Promise异步回调。 1712 1713**系统接口:** 此接口为系统接口。 1714 1715**系统能力**:SystemCapability.Telephony.SmsMms 1716 1717**参数:** 1718 1719| 参数名 | 类型 | 必填 | 说明 | 1720| ------ | ---------------------------------- | ---- | ---------- | 1721| mms | [MmsInformation](#mmsinformation8) | 是 | 彩信信息。 | 1722 1723**返回值:** 1724 1725| 类型 | 说明 | 1726| ----------------------------- | ----------------------------------- | 1727| Promise<Array<number\>> | 以Promise形式返回彩信编码后的结果。 | 1728 1729**错误码:** 1730 1731以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 1732 1733| 错误码ID | 错误信息 | 1734| -------- | -------------------------------------------- | 1735| 202 | Non-system applications use system APIs. | 1736| 401 | Parameter error. | 1737| 8300001 | Invalid parameter value. | 1738| 8300002 | Operation failed. Cannot connect to service. | 1739| 8300003 | System internal error. | 1740| 8300999 | Unknown error code. | 1741 1742**示例:** 1743 1744```ts 1745import sms from '@ohos.telephony.sms'; 1746import { BusinessError } from '@ohos.base'; 1747 1748let mmsAcknowledgeInd: sms.MmsAcknowledgeInd = { 1749 transactionId: "100", 1750 version: sms.MmsVersionType.MMS_VERSION_1_0, 1751 reportAllowed: sms.ReportType.MMS_YES 1752}; 1753let mmsInformation: sms.MmsInformation = { 1754 messageType: sms.MessageType.TYPE_MMS_ACKNOWLEDGE_IND, 1755 mmsType: mmsAcknowledgeInd 1756}; 1757sms.encodeMms(mmsInformation).then((data: number[]) => { 1758 console.log(`encodeMms success, promise: data->${JSON.stringify(data)}`); 1759}).catch((err: BusinessError) => { 1760 console.error(`encodeMms failed, promise: err->${JSON.stringify(err)}`); 1761}); 1762``` 1763 1764## sms.getDefaultSmsSimId<sup>10+</sup> 1765 1766getDefaultSmsSimId\(callback: AsyncCallback<number>\): void 1767 1768获取发送短信的默认SIM卡ID。使用callback异步回调。 1769 1770**系统能力**:SystemCapability.Telephony.SmsMms 1771 1772**参数:** 1773 1774| 参数名 | 类型 | 必填 | 说明 | 1775| -------- | --------------------------- | ---- | ---------------------------------------- | 1776| callback | AsyncCallback<number> | 是 | 回调函数。<br/>与SIM卡绑定,从1开始递增。 | 1777 1778**错误码:** 1779 1780以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 1781 1782| 错误码ID | 错误信息 | 1783| -------- | -------------------------------------------- | 1784| 401 | Parameter error. | 1785| 8300001 | Invalid parameter value. | 1786| 8300002 | Operation failed. Cannot connect to service. | 1787| 8300003 | System internal error. | 1788| 8300004 | Do not have sim card. | 1789| 8300999 | Unknown error code. | 1790| 8301001 | SIM card is not activated. | 1791 1792**示例:** 1793 1794```ts 1795import sms from '@ohos.telephony.sms'; 1796import { BusinessError } from '@ohos.base'; 1797 1798sms.getDefaultSmsSimId((err: BusinessError, data: number) => { 1799 console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 1800}); 1801``` 1802 1803 1804## sms.getDefaultSmsSimId<sup>10+</sup> 1805 1806getDefaultSmsSimId\(\): Promise<number> 1807 1808获取发送短信的默认SIM卡ID。使用Promise异步回调。 1809 1810**系统能力**:SystemCapability.Telephony.SmsMms 1811 1812**返回值:** 1813 1814| 类型 | 说明 | 1815| --------------- | ------------------------------------------------------------ | 1816| Promise<number> | 以Promise形式返回发送短信的默认SIM卡ID:<br/>与SIM卡绑定,从1开始递增。 | 1817 1818**错误码:** 1819 1820以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 1821 1822| 错误码ID | 错误信息 | 1823| -------- | -------------------------------------------- | 1824| 8300001 | Invalid parameter value. | 1825| 8300002 | Operation failed. Cannot connect to service. | 1826| 8300003 | System internal error. | 1827| 8300004 | Do not have sim card. | 1828| 8300999 | Unknown error code. | 1829| 8301001 | SIM card is not activated. | 1830 1831**示例:** 1832 1833```ts 1834import sms from '@ohos.telephony.sms'; 1835import { BusinessError } from '@ohos.base'; 1836 1837let promise = sms.getDefaultSmsSimId(); 1838promise.then((data: number) => { 1839 console.log(`getDefaultSmsSimId success, promise: data->${JSON.stringify(data)}`); 1840}).catch((err: BusinessError) => { 1841 console.error(`getDefaultSmsSimId failed, promise: err->${JSON.stringify(err)}`); 1842}); 1843``` 1844 1845## ShortMessage 1846 1847短信实例。 1848 1849**系统能力**:SystemCapability.Telephony.SmsMms 1850 1851| 名称 | 类型 | 必填 | 说明 | 1852| ------------------------ | --------------------------------------- | ---- | ------------------------------------------------------------ | 1853| hasReplyPath | boolean | 是 | 收到的短信是否包含“TP-Reply-Path”,默认为false。<br/>“TP-Reply-Path”:设备根据发送SMS消息的短消息中心进行回复。 | 1854| isReplaceMessage | boolean | 是 | 收到的短信是否为“替换短信”,默认为false。<br/>“替换短信”有关详细信息,参见 “3GPP TS 23.040 9.2.3.9”。 | 1855| isSmsStatusReportMessage | boolean | 是 | 当前消息是否为“短信状态报告”,默认为false。<br/>“短信状态报告”是一种特定格式的短信,被用来从Service Center到Mobile Station传送状态报告。| 1856| messageClass | [ShortMessageClass](#shortmessageclass) | 是 | 短信类型。 | 1857| pdu | Array<number> | 是 | SMS消息中的协议数据单元 (PDU)。 | 1858| protocolId | number | 是 | 发送短信时使用的协议标识。 | 1859| scAddress | string | 是 | 短消息服务中心(SMSC)地址。 | 1860| scTimestamp | number | 是 | SMSC时间戳。 | 1861| status | number | 是 | SMS-STATUS-REPORT消息中的短信状态指示短信服务中心(SMSC)发送的短信状态。 | 1862| visibleMessageBody | string | 是 | 短信正文。 | 1863| visibleRawAddress | string | 是 | 发送者地址。 | 1864 1865 1866## ShortMessageClass 1867 1868短信类型。 1869 1870**系统能力**:SystemCapability.Telephony.SmsMms 1871 1872| 名称 | 值 | 说明 | 1873| ---------------- | ---- | ---------------------------------------- | 1874| UNKNOWN | 0 | 未知类型。 | 1875| INSTANT_MESSAGE | 1 | 即时消息,收到后立即显示。 | 1876| OPTIONAL_MESSAGE | 2 | 存储在设备或SIM卡上的短信。 | 1877| SIM_MESSAGE | 3 | 包含SIM卡信息的短信,需要存储在SIM卡中。 | 1878| FORWARD_MESSAGE | 4 | 要转发到另一台设备的短信。 | 1879 1880 1881## SendMessageOptions 1882 1883发送短信的参数和回调。根据SendMessageOptions中的可选参数content的值判断短信类型。 1884 1885**系统能力**:SystemCapability.Telephony.SmsMms 1886 1887| 名称 | 类型 | 必填 | 说明 | 1888| ---------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 1889| slotId | number | 是 | 用于发送短信的SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 | 1890| destinationHost | string | 是 | 短信的发送地址。 | 1891| content | string \| Array<number> | 是 | 如果内容是字符串,则这是一条文本短信。如果内容是字节数组,则这是一条数据短信。 | 1892| serviceCenter | string | 否 | 短信中心地址。默认使用SIM卡中的短信中心地址。 | 1893| destinationPort | number | 否 | 如果发送数据消息,destinationPort 是必需的。否则是可选的。 | 1894| sendCallback | AsyncCallback<[ISendShortMessageCallback](#isendshortmessagecallback)> | 否 | 短信发送结果回调,返回短信发送的结果,参考[ISendShortMessageCallback](#isendshortmessagecallback)。 | 1895| deliveryCallback | AsyncCallback<[IDeliveryShortMessageCallback](#ideliveryshortmessagecallback)> | 否 | 短信送达结果回调,返回短信递送报告,参考[IDeliveryShortMessageCallback](#ideliveryshortmessagecallback)。 | 1896 1897 1898## ISendShortMessageCallback 1899 1900回调实例。返回短信发送结果、存储已发送短信的URI和是否为长短信的最后一部分。 1901 1902**系统能力**:SystemCapability.Telephony.SmsMms 1903 1904| 名称 | 类型 | 必填 | 说明 | 1905| ---------- | ------------------------------- | ---- | ----------------------------------------------------------------------------------------- | 1906| isLastPart | boolean | 否 | 指定这是否是长短信的最后一部分。true表示这是长短信的最后一部分,false表示不是。默认为false。 | 1907| result | [SendSmsResult](#sendsmsresult) | 是 | 短信发送结果。 | 1908| url | string | 是 | 存储发送短信的URI。 | 1909 1910 1911## IDeliveryShortMessageCallback 1912 1913回调实例,返回短信送达报告。 1914 1915**系统能力**:SystemCapability.Telephony.SmsMms 1916 1917| 名称 | 类型 | 必填 | 说明 | 1918| ---- | ------------------- | ---- | -------------- | 1919| pdu | Array<number> | 是 | 短信送达报告。 | 1920 1921 1922## SendSmsResult 1923 1924短信发送结果。 1925 1926**系统能力**:SystemCapability.Telephony.SmsMms 1927 1928| 名称 | 值 | 说明 | 1929| ------------------------------------ | ---- | ------------------------------------------------------ | 1930| SEND_SMS_SUCCESS | 0 | 发送短信成功。 | 1931| SEND_SMS_FAILURE_UNKNOWN | 1 | 发送短信失败,原因未知。 | 1932| SEND_SMS_FAILURE_RADIO_OFF | 2 | 发送短信失败,原因为调制解调器关机。 | 1933| SEND_SMS_FAILURE_SERVICE_UNAVAILABLE | 3 | 发送短信失败,原因为网络不可用、不支持发送或接收短信。 | 1934 1935## MmsInformation<sup>8+</sup> 1936 1937彩信信息。 1938 1939**系统接口:** 此接口为系统接口。 1940 1941**系统能力**:SystemCapability.Telephony.SmsMms 1942 1943| 名称 | 类型 | 必填 | 说明 | 1944| ----------- | ------------------------------------------------------------ | ---- | ---------- | 1945| messageType | [MessageType](#messagetype8) | 是 | 消息类型。 | 1946| mmsType | [MmsSendReq](#mmssendreq8) \|[MmsSendConf](#mmssendconf8) \|[MmsNotificationInd](#mmsnotificationind8) \|[MmsRespInd](#mmsrespind8) \|[MmsRetrieveConf](#mmsretrieveconf8)\|[MmsAcknowledgeInd](#mmsacknowledgeind8)\|[MmsDeliveryInd](#mmsdeliveryind8)\|[MmsReadOrigInd](#mmsreadorigind8)\|[MmsReadRecInd](#mmsreadrecind8) | 是 | PDU头类型 | 1947| attachment | Array<[MmsAttachment](#mmsattachment8)\> | 否 | 附件 | 1948 1949## MmsSendReq<sup>8+</sup> 1950 1951彩信发送请求。 1952 1953**系统接口:** 此接口为系统接口。 1954 1955**系统能力**:SystemCapability.Telephony.SmsMms 1956 1957| 名称 | 类型 | 必填 | 说明 | 1958| ---------------- | ------------------------------------ | ---- | ------------ | 1959| from | [MmsAddress](#mmsaddress8) | 是 | 彩信来源 | 1960| transactionId | string | 是 | 事务ID | 1961| contentType | string | 是 | 内容类型 | 1962| version | [MmsVersionType](#mmsversiontype8) | 是 | 版本 | 1963| to | Array<[MmsAddress](#mmsaddress8)\> | 否 | 发送至 | 1964| date | number | 否 | 日期 | 1965| cc | Array<[MmsAddress](#mmsaddress8)\> | 否 | 抄送 | 1966| bcc | Array<[MmsAddress](#mmsaddress8)\> | 否 | 暗抄送 | 1967| subject | string | 否 | 主题 | 1968| messageClass | number | 否 | 消息类 | 1969| expiry | number | 否 | 到期 | 1970| priority | [MmsPriorityType](#mmsprioritytype8) | 否 | 优先 | 1971| senderVisibility | number | 否 | 发件人可见性 | 1972| deliveryReport | number | 否 | 交付报告 | 1973| readReport | number | 否 | 阅读报告 | 1974 1975## MmsSendConf<sup>8+</sup> 1976 1977彩信发送配置。 1978 1979**系统接口:** 此接口为系统接口。 1980 1981**系统能力**:SystemCapability.Telephony.SmsMms 1982 1983| 名称 | 类型 | 必填 | 说明 | 1984| ------------- | ---------------------------------- | ---- | -------- | 1985| responseState | number | 是 | 响应状态 | 1986| transactionId | string | 是 | 事务ID | 1987| version | [MmsVersionType](#mmsversiontype8) | 是 | 版本 | 1988| messageId | string | 否 | 消息ID | 1989 1990## MmsNotificationInd<sup>8+</sup> 1991 1992彩信通知索引。 1993 1994**系统接口:** 此接口为系统接口。 1995 1996**系统能力**:SystemCapability.Telephony.SmsMms 1997 1998| 名称 | 类型 | 必填 | 说明 | 1999| --------------- | ---------------------------------- | ---- | -------- | 2000| transactionId | string | 是 | 事务ID | 2001| messageClass | number | 是 | 消息类 | 2002| messageSize | number | 是 | 消息大小 | 2003| expiry | number | 是 | 到期 | 2004| contentLocation | string | 是 | 内容位置 | 2005| version | [MmsVersionType](#mmsversiontype8) | 是 | 版本 | 2006| from | [MmsAddress](#mmsaddress8) | 否 | 来源 | 2007| subject | string | 否 | 主题 | 2008| deliveryReport | number | 否 | 状态报告 | 2009| contentClass | number | 否 | 内容类 | 2010 2011## MmsAcknowledgeInd<sup>8+</sup> 2012 2013彩信确认索引。 2014 2015**系统接口:** 此接口为系统接口。 2016 2017**系统能力**:SystemCapability.Telephony.SmsMms 2018 2019| 名称 | 类型 | 必填 | 说明 | 2020| ------------- | ---------------------------------- | ---- | -------- | 2021| transactionId | string | 是 | 事务ID | 2022| version | [MmsVersionType](#mmsversiontype8) | 是 | 版本 | 2023| reportAllowed | [ReportType](#reporttype8) | 否 | 允许报告 | 2024 2025## MmsRetrieveConf<sup>8+</sup> 2026 2027彩信检索配置。 2028 2029**系统接口:** 此接口为系统接口。 2030 2031**系统能力**:SystemCapability.Telephony.SmsMms 2032 2033| 名称 | 类型 | 必填 | 说明 | 2034| -------------- | ------------------------------------ | ---- | -------- | 2035| transactionId | string | 是 | 事务ID | 2036| messageId | string | 是 | 消息ID | 2037| date | number | 是 | 日期 | 2038| contentType | string | 是 | 内容类型 | 2039| to | Array<[MmsAddress](#mmsaddress8)\> | 是 | 发送至 | 2040| version | [MmsVersionType](#mmsversiontype8) | 是 | 版本 | 2041| from | [MmsAddress](#mmsaddress8) | 否 | 来源 | 2042| cc | Array<[MmsAddress](#mmsaddress8)\> | 否 | 抄送 | 2043| subject | string | 否 | 主题 | 2044| priority | [MmsPriorityType](#mmsprioritytype8) | 否 | 优先级 | 2045| deliveryReport | number | 否 | 状态报告 | 2046| readReport | number | 否 | 阅读报告 | 2047| retrieveStatus | number | 否 | 检索状态 | 2048| retrieveText | string | 否 | 检索文本 | 2049 2050## MmsReadOrigInd<sup>8+</sup> 2051 2052彩信读取原始索引。 2053 2054**系统接口:** 此接口为系统接口。 2055 2056**系统能力**:SystemCapability.Telephony.SmsMms 2057 2058| 名称 | 类型 | 必填 | 说明 | 2059| ---------- | ---------------------------------- | ---- | -------- | 2060| version | [MmsVersionType](#mmsversiontype8) | 是 | 版本 | 2061| messageId | string | 是 | 消息ID | 2062| to | Array<[MmsAddress](#mmsaddress8)\> | 是 | 发送至 | 2063| from | [MmsAddress](#mmsaddress8) | 是 | 来源 | 2064| date | number | 是 | 日期 | 2065| readStatus | number | 是 | 阅读状态 | 2066 2067## MmsReadRecInd<sup>8+</sup> 2068 2069彩信读取记录索引。 2070 2071**系统接口:** 此接口为系统接口。 2072 2073**系统能力**:SystemCapability.Telephony.SmsMms 2074 2075| 名称 | 类型 | 必填 | 说明 | 2076| ---------- | ---------------------------------- | ---- | -------- | 2077| version | [MmsVersionType](#mmsversiontype8) | 是 | 版本 | 2078| messageId | string | 是 | 消息ID | 2079| to | Array<[MmsAddress](#mmsaddress8)\> | 是 | 发送至 | 2080| from | [MmsAddress](#mmsaddress8) | 是 | 来源 | 2081| readStatus | number | 是 | 阅读状态 | 2082| date | number | 否 | 日期 | 2083 2084## MmsAttachment<sup>8+</sup> 2085 2086彩信附件。 2087 2088**系统接口:** 此接口为系统接口。 2089 2090**系统能力**:SystemCapability.Telephony.SmsMms 2091 2092| 名称 | 类型 | 必填 | 说明 | 2093| ----------------------- | ------------------------------------ | ---- | ------------------ | 2094| contentId | string | 是 | 内容ID | 2095| contentLocation | string | 是 | 内容位置 | 2096| contentDisposition | [DispositionType](#dispositiontype8) | 是 | 内容处理 | 2097| contentTransferEncoding | string | 是 | 内容传输编码 | 2098| contentType | string | 是 | 内容类型 | 2099| isSmil | boolean | 是 | 同步多媒体集成语言 | 2100| path | string | 否 | 路径 | 2101| inBuff | Array<number\> | 否 | 缓冲区中 | 2102| fileName | string | 否 | 文件名 | 2103| charset | [MmsCharSets](#mmscharsets8) | 否 | 字符集 | 2104 2105## MmsAddress<sup>8+</sup> 2106 2107彩信地址。 2108 2109**系统接口:** 此接口为系统接口。 2110 2111**系统能力**:SystemCapability.Telephony.SmsMms 2112 2113| 名称 | 类型 | 必填 | 说明 | 2114| ------- | ---------------------------- | ---- | ------ | 2115| address | string | 是 | 地址 | 2116| charset | [MmsCharSets](#mmscharsets8) | 是 | 字符集 | 2117 2118## MessageType<sup>8+</sup> 2119 2120消息类型。 2121 2122**系统接口:** 此接口为系统接口。 2123 2124**系统能力**:SystemCapability.Telephony.SmsMms 2125 2126| 名称 | 值 | 说明 | 2127| ------------------------- | ---- | -------------------- | 2128| TYPE_MMS_SEND_REQ | 128 | 彩信发送请求类型 | 2129| TYPE_MMS_SEND_CONF | 129 | 彩信发送配置类型 | 2130| TYPE_MMS_NOTIFICATION_IND | 130 | 彩信通知索引类型 | 2131| TYPE_MMS_RESP_IND | 131 | 彩信回复索引类型 | 2132| TYPE_MMS_RETRIEVE_CONF | 132 | 彩信检索配置类型 | 2133| TYPE_MMS_ACKNOWLEDGE_IND | 133 | 彩信确认索引类型 | 2134| TYPE_MMS_DELIVERY_IND | 134 | 彩信传送索引类型 | 2135| TYPE_MMS_READ_REC_IND | 135 | 彩信读取接收索引类型 | 2136| TYPE_MMS_READ_ORIG_IND | 136 | 彩信读取原始索引类型 | 2137 2138## MmsPriorityType<sup>8+</sup> 2139 2140彩信优先级类型。 2141 2142**系统接口:** 此接口为系统接口。 2143 2144**系统能力**:SystemCapability.Telephony.SmsMms 2145 2146| 名称 | 值 | 说明 | 2147| ---------- | ---- | -------------- | 2148| MMS_LOW | 128 | 彩信优先级低 | 2149| MMS_NORMAL | 129 | 彩信优先级正常 | 2150| MMS_HIGH | 130 | 彩信优先级高 | 2151 2152## MmsVersionType<sup>8+</sup> 2153 2154彩信版本类型。 2155 2156**系统接口:** 此接口为系统接口。 2157 2158**系统能力**:SystemCapability.Telephony.SmsMms 2159 2160| 名称 | 值 | 说明 | 2161| --------------- | ---- | ----------- | 2162| MMS_VERSION_1_0 | 0x10 | 彩信版本1_0 | 2163| MMS_VERSION_1_1 | 0x11 | 彩信版本1_1 | 2164| MMS_VERSION_1_2 | 0x12 | 彩信版本1_2 | 2165| MMS_VERSION_1_3 | 0x13 | 彩信版本1_3 | 2166 2167## MmsCharSets<sup>8+</sup> 2168 2169彩信字符集。 2170 2171**系统接口:** 此接口为系统接口。 2172 2173**系统能力**:SystemCapability.Telephony.SmsMms 2174 2175| 名称 | 值 | 说明 | 2176| --------------- | ------ | ------------------- | 2177| BIG5 | 0X07EA | BIG5格式 | 2178| ISO_10646_UCS_2 | 0X03E8 | ISO_10646_UCS_2格式 | 2179| ISO_8859_1 | 0X04 | ISO_8859_1格式 | 2180| ISO_8859_2 | 0X05 | ISO_8859_2格式 | 2181| ISO_8859_3 | 0X06 | ISO_8859_3格式 | 2182| ISO_8859_4 | 0X07 | ISO_8859_4格式 | 2183| ISO_8859_5 | 0X08 | ISO_8859_5格式 | 2184| ISO_8859_6 | 0X09 | ISO_8859_6格式 | 2185| ISO_8859_7 | 0X0A | ISO_8859_7格式 | 2186| ISO_8859_8 | 0X0B | ISO_8859_8格式 | 2187| ISO_8859_9 | 0X0C | ISO_8859_9格式 | 2188| SHIFT_JIS | 0X11 | SHIFT_JIS格式 | 2189| US_ASCII | 0X03 | US_ASCII格式 | 2190| UTF_8 | 0X6A | UTF_8格式 | 2191 2192## DispositionType<sup>8+</sup> 2193 2194处理类型。 2195 2196**系统接口:** 此接口为系统接口。 2197 2198**系统能力**:SystemCapability.Telephony.SmsMms 2199 2200| 名称 | 值 | 说明 | 2201| ---------- | ---- | -------- | 2202| FROM_DATA | 0 | 数据来源 | 2203| ATTACHMENT | 1 | 附件 | 2204| INLINE | 2 | 内联 | 2205 2206## ReportType<sup>8+</sup> 2207 2208报告类型。 2209 2210**系统接口:** 此接口为系统接口。 2211 2212**系统能力**:SystemCapability.Telephony.SmsMms 2213 2214| 名称 | 值 | 说明 | 2215| ------- | ---- | ---- | 2216| MMS_YES | 128 | YES | 2217| MMS_NO | 129 | NO | 2218 2219## CBConfigOptions<sup>7+</sup> 2220 2221小区广播配置选项。 2222 2223**系统接口:** 此接口为系统接口。 2224 2225**系统能力**:SystemCapability.Telephony.SmsMms 2226 2227| 名称 | 类型 | 必填 | 说明 | 2228| -------------- | -------------------- | ---- | ------------ | 2229| slotId | number | 是 | 卡槽ID | 2230| enable | boolean | 是 | 可行 | 2231| startMessageId | number | 是 | 消息起始ID | 2232| endMessageId | number | 是 | 消息结束ID | 2233| ranType | [RanType](#rantype7) | 是 | 设备网络制式 | 2234 2235## SimMessageStatus<sup>7+</sup> 2236 2237SIM卡消息状态。 2238 2239**系统接口:** 此接口为系统接口。 2240 2241**系统能力**:SystemCapability.Telephony.SmsMms 2242 2243| 名称 | 值 | 说明 | 2244| ------------------------- | ---- | --------------------------- | 2245| SIM_MESSAGE_STATUS_FREE | 0 | SIM卡上的状态可用空间 | 2246| SIM_MESSAGE_STATUS_READ | 1 | 消息已读状态 | 2247| SIM_MESSAGE_STATUS_UNREAD | 3 | 消息未读状态 | 2248| SIM_MESSAGE_STATUS_SENT | 5 | 存储发送消息(仅适用于SMS) | 2249| SIM_MESSAGE_STATUS_UNSENT | 7 | 储未发送消息(仅适用于SMS) | 2250 2251## RanType<sup>7+</sup> 2252 2253设备网络制式。 2254 2255**系统接口:** 此接口为系统接口。 2256 2257**系统能力**:SystemCapability.Telephony.SmsMms 2258 2259| 名称 | 值 | 说明 | 2260| --------- | ---- | ---- | 2261| TYPE_GSM | 1 | GSM | 2262| TYPE_CDMA | 2 | CMDA | 2263 2264## SmsEncodingScheme<sup>8+</sup> 2265 2266短信编码方案。 2267 2268**系统接口:** 此接口为系统接口。 2269 2270**系统能力**:SystemCapability.Telephony.SmsMms 2271 2272| 名称 | 值 | 说明 | 2273| -------------------- | ---- | ------------ | 2274| SMS_ENCODING_UNKNOWN | 0 | 未知短信编码 | 2275| SMS_ENCODING_7BIT | 1 | 7位短信编码 | 2276| SMS_ENCODING_8BIT | 2 | 8位短信编码 | 2277| SMS_ENCODING_16BIT | 3 | 16位短信编码 | 2278 2279## SimMessageOptions<sup>7+</sup> 2280 2281SIM卡消息选项。 2282 2283**系统接口:** 此接口为系统接口。 2284 2285**系统能力**:SystemCapability.Telephony.SmsMms 2286 2287| 名称 | 类型 | 必填 | 说明 | 2288| ------ | -------------------------------------- | ---- | -------------- | 2289| slotId | number | 是 | 卡槽ID | 2290| smsc | string | 是 | 短消息业务中心 | 2291| pdu | string | 是 | 协议数据单元 | 2292| status | [SimMessageStatus](#simmessagestatus7) | 是 | 状态 | 2293 2294## UpdateSimMessageOptions<sup>7+</sup> 2295 2296更新SIM卡消息选项。 2297 2298**系统接口:** 此接口为系统接口。 2299 2300**系统能力**:SystemCapability.Telephony.SmsMms 2301 2302| 名称 | 类型 | 必填 | 说明 | 2303| --------- | -------------------------------------- | ---- | -------------- | 2304| slotId | number | 是 | 卡槽ID | 2305| msgIndex | number | 是 | 消息索引 | 2306| newStatus | [SimMessageStatus](#simmessagestatus7) | 是 | 新状态 | 2307| pdu | string | 是 | 协议数据单元 | 2308| smsc | string | 是 | 短消息业务中心 | 2309 2310## SimShortMessage<sup>7+</sup> 2311 2312SIM卡短消息。 2313 2314**系统接口:** 此接口为系统接口。 2315 2316**系统能力**:SystemCapability.Telephony.SmsMms 2317 2318| 名称 | 类型 | 必填 | 说明 | 2319| ---------------- | -------------------------------------- | ---- | ------------- | 2320| shortMessage | [ShortMessage](#shortmessage) | 是 | 短消息 | 2321| simMessageStatus | [SimMessageStatus](#simmessagestatus7) | 是 | SIM卡消息状态 | 2322| indexOnSim | number | 是 | SIM卡索引 | 2323 2324## MmsDeliveryInd<sup>8+</sup> 2325 2326彩信发送标识。 2327 2328**系统接口:** 此接口为系统接口。 2329 2330**系统能力**:SystemCapability.Telephony.SmsMms 2331 2332| 名称 | 类型 | 必填 | 说明 | 2333| --------- | ---------------------------------- | ---- | ------ | 2334| messageId | string | 是 | 消息ID | 2335| date | number | 是 | 日期 | 2336| to | Array<[MmsAddress](#mmsaddress8)\> | 是 | 发送至 | 2337| status | number | 是 | 状态 | 2338| version | [MmsVersionType](#mmsversiontype8) | 是 | 版本 | 2339 2340## MmsRespInd<sup>8+</sup> 2341 2342彩信回复标志。 2343 2344**系统接口:** 此接口为系统接口。 2345 2346**系统能力**:SystemCapability.Telephony.SmsMms 2347 2348| 名称 | 类型 | 必填 | 说明 | 2349| ------------- | ---------------------------------- | ---- | -------- | 2350| transactionId | string | 是 | 事件ID | 2351| status | number | 是 | 状态 | 2352| version | [MmsVersionType](#mmsversiontype8) | 是 | 版本 | 2353| reportAllowed | [ReportType](#reporttype8) | 否 | 允许报告 | 2354 2355## SmsSegmentsInfo<sup>8+</sup> 2356 2357短信段信息。 2358 2359**系统接口:** 此接口为系统接口。 2360 2361**系统能力**:SystemCapability.Telephony.SmsMms 2362 2363| 名称 | 类型 | 必填 | 说明 | 2364| -------------------- | ---------------------------------------- | ---- | ------------ | 2365| splitCount | number | 是 | 拆分计数 | 2366| encodeCount | number | 是 | 编码计数 | 2367| encodeCountRemaining | number | 是 | 剩余编码计数 | 2368| scheme | [SmsEncodingScheme](#smsencodingscheme8) | 是 | 短信编码方案 | 2369