# @ohos.telephony.sms (短信服务) 短信服务提供了管理短信的一些基础能力,包括创建、发送短信,获取、设置发送短信的默认SIM卡槽ID,获取、设置短信服务中心(SMSC)地址,以及检查当前设备是否具备短信发送和接收能力等。 >**说明:** > >本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 ## 导入模块 ```ts import sms from '@ohos.telephony.sms'; ``` ## sms.createMessage createMessage\(pdu: Array<number>, specification: string, callback: AsyncCallback\\): void 根据协议数据单元(PDU)和指定的短信协议创建短信实例。使用callback异步回调。 **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------------- | -------------------------------------------------- | ---- | ------------------------------------------------------------ | | pdu | Array<number> | 是 | 协议数据单元,从收到的信息中获取。 | | specification | string | 是 | 短信协议类型。
- 3gpp:表示GSM/UMTS/LTE SMS
- 3gpp2:表示CDMA SMS | | callback | AsyncCallback<[ShortMessage](#shortmessage)> | 是 | 回调函数。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; const specification: string = '3gpp'; // 以数组的形式显示协议数据单元(PDU),类型为number,例如[0x08, 0x91, ...] const pdu: Array = [0x08, 0x91]; sms.createMessage(pdu, specification, (err: BusinessError, data: sms.ShortMessage) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## sms.createMessage createMessage\(pdu: Array<number>, specification: string\): Promise\ 根据协议数据单元(PDU)和指定的短信协议创建短信实例。使用Promise异步回调。 **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------------- | ------------------- | ---- | ------------------------------------------------------------ | | pdu | Array<number> | 是 | 协议数据单元,从收到的信息中获取。 | | specification | string | 是 | 短信协议类型。
- 3gpp:表示GSM/UMTS/LTE SMS
- 3gpp2:表示CDMA SMS | **返回值:** | 类型 | 说明 | | -------------------------------------------- | --------------------------------- | | Promise<[ShortMessage](#shortmessage)> | 以Promise形式返回创建的短信实例。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; const specification: string = '3gpp'; // 以数组的形式显示协议数据单元(PDU),类型为number,例如[0x08, 0x91, ...] const pdu: Array = [0x08, 0x91]; sms.createMessage(pdu, specification).then((data: sms.ShortMessage) => { console.log(`createMessage success, promise: data->${JSON.stringify(data)}`); }).catch((err: BusinessError) => { console.error(`createMessage failed, promise: err->${JSON.stringify(err)}`); }); ``` ## sms.sendMessage(deprecated) sendMessage\(options: SendMessageOptions\): void 发送短信。 > **说明:** > > 从 API version 8开始支持,从API version 10开始废弃。建议使用[sendShortMessage](#smssendshortmessage10)替代。 **需要权限**:ohos.permission.SEND_MESSAGES **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | ----------------------------------------- | ---- | ------------------------------------------------------------ | | options | [SendMessageOptions](#sendmessageoptions) | 是 | 发送短信的参数和回调,参考[SendMessageOptions](#sendmessageoptions)。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { AsyncCallback } from '@ohos.base'; import { BusinessError } from '@ohos.base'; let sendCallback: AsyncCallback = (err: BusinessError, data: sms.ISendShortMessageCallback[]) => { console.log(`sendCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); } let deliveryCallback: AsyncCallback = (err: BusinessError, data: sms.IDeliveryShortMessageCallback) => { console.log(`deliveryCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); } let options: sms.SendMessageOptions = { slotId: 0, content: '短信内容', destinationHost: '+861xxxxxxxxxx', serviceCenter: '+861xxxxxxxxxx', destinationPort: 1000, sendCallback: sendCallback, deliveryCallback: deliveryCallback }; sms.sendMessage(options); ``` ## sms.sendShortMessage10+ sendShortMessage\(options: SendMessageOptions, callback: AsyncCallback<void>\): void 发送短信。使用callback异步回调。 **需要权限**:ohos.permission.SEND_MESSAGES **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | ---------------------------------------- | | options | [SendMessageOptions](#sendmessageoptions) | 是 | 发送短信的参数和回调,参考[SendMessageOptions](#sendmessageoptions)。 | | callback | AsyncCallback<void> | 是 | 回调函数。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { AsyncCallback } from '@ohos.base'; import { BusinessError } from '@ohos.base'; let sendCallback: AsyncCallback = (err: BusinessError, data: sms.ISendShortMessageCallback) => { console.log(`sendCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); } let deliveryCallback: AsyncCallback = (err: BusinessError, data: sms.IDeliveryShortMessageCallback) => { console.log(`deliveryCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); } let options: sms.SendMessageOptions = { slotId: 0, content: '短信内容', destinationHost: '+861xxxxxxxxxx', serviceCenter: '+861xxxxxxxxxx', destinationPort: 1000, sendCallback: sendCallback, deliveryCallback: deliveryCallback }; sms.sendShortMessage(options, (err: BusinessError) => { console.log(`callback: err->${JSON.stringify(err)}`); }); ``` ## sms.sendShortMessage10+ sendShortMessage\(options: SendMessageOptions\): Promise<void> 发送短信。使用Promise异步回调。 **需要权限**:ohos.permission.SEND_MESSAGES **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | ---------------------------------------- | | options | [SendMessageOptions](#sendmessageoptions) | 是 | 发送短信的参数和回调,参考[SendMessageOptions](#sendmessageoptions)。 | **返回值:** | 类型 | 说明 | | --------------- | ------------------------------------------------------------ | | Promise<void> | 以Promise形式返回发送短信的结果。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { AsyncCallback } from '@ohos.base'; import { BusinessError } from '@ohos.base'; let sendCallback: AsyncCallback = (err: BusinessError, data: sms.ISendShortMessageCallback) => { console.log(`sendCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); } let deliveryCallback: AsyncCallback = (err: BusinessError, data: sms.IDeliveryShortMessageCallback) => { console.log(`deliveryCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); } let options: sms.SendMessageOptions = { slotId: 0, content: '短信内容', destinationHost: '+861xxxxxxxxxx', serviceCenter: '+861xxxxxxxxxx', destinationPort: 1000, sendCallback: sendCallback, deliveryCallback: deliveryCallback }; let promise = sms.sendShortMessage(options); promise.then(() => { console.log(`sendShortMessage success`); }).catch((err: BusinessError) => { console.error(`sendShortMessage failed, promise: err->${JSON.stringify(err)}`); }); ``` ## sms.getDefaultSmsSlotId7+ getDefaultSmsSlotId\(callback: AsyncCallback<number>\): void 获取发送短信的默认SIM卡槽ID。使用callback异步回调。 **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | ---------------------------------------- | | callback | AsyncCallback<number> | 是 | 回调函数。
- 0:卡槽1
- 1:卡槽2 | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; sms.getDefaultSmsSlotId((err: BusinessError, data: number) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## sms.getDefaultSmsSlotId7+ getDefaultSmsSlotId\(\): Promise<number> 获取发送短信的默认SIM卡槽ID。使用Promise异步回调。 **系统能力**:SystemCapability.Telephony.SmsMms **返回值:** | 类型 | 说明 | | --------------- | ------------------------------------------------------------ | | Promise<number> | 以Promise形式返回发送短信的默认SIM卡:
- 0:卡槽1
- 1:卡槽2 | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; sms.getDefaultSmsSlotId().then((data: number) => { console.log(`getDefaultSmsSlotId success, promise: data->${JSON.stringify(data)}`); }).catch((err: BusinessError) => { console.error(`getDefaultSmsSlotId failed, promise: err->${JSON.stringify(err)}`); }); ``` ## sms.setDefaultSmsSlotId7+ setDefaultSmsSlotId\(slotId: number, callback: AsyncCallback<void>\): void 设置发送短信的默认SIM卡槽ID。使用callback异步回调。 **系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ------------------------------------------------------------ | | slotId | number | 是 | SIM卡槽ID。
- 0:卡槽1
- 1:卡槽2
- -1:清除默认配置 | | callback | AsyncCallback<void> | 是 | 回调函数。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300004 | Do not have sim card. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; sms.setDefaultSmsSlotId(0, (err: BusinessError) => { console.log(`callback: err->${JSON.stringify(err)}.`); }); ``` ## sms.setDefaultSmsSlotId7+ setDefaultSmsSlotId\(slotId: number\): Promise<void> 设置发送短信的默认SIM卡槽ID。使用Promise异步回调。 **系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------------------------------------------------------------ | | slotId | number | 是 | SIM卡槽ID。
- 0:卡槽1
- 1:卡槽2
- -1:清除默认配置 | **返回值:** | 类型 | 说明 | | --------------- | ------------------------------- | | Promise\ | 以Promise形式异步返回设置结果。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300004 | Do not have sim card. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; sms.setDefaultSmsSlotId(0).then(() => { console.log(`setDefaultSmsSlotId success.`); }).catch((err: BusinessError) => { console.error(`setDefaultSmsSlotId failed, promise: err->${JSON.stringify(err)}`); }); ``` ## sms.setSmscAddr7+ setSmscAddr\(slotId: number, smscAddr: string, callback: AsyncCallback\\): void 设置短信服务中心(SMSC)地址。使用callback异步回调。 **系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE,该权限为系统权限 **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ----------------------------------------- | | slotId | number | 是 | SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2 | | smscAddr | string | 是 | 短信服务中心地址。 | | callback | AsyncCallback<void> | 是 | 回调函数。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let slotId: number = 0; let smscAddr: string = '+861xxxxxxxxxx'; sms.setSmscAddr(slotId, smscAddr, (err: BusinessError) => { console.log(`callback: err->${JSON.stringify(err)}`); }); ``` ## sms.setSmscAddr7+ setSmscAddr\(slotId: number, smscAddr: string\): Promise\ 设置短信服务中心(SMSC)地址。使用Promise异步回调。 **系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE,该权限为系统权限 **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------ | ---- | ----------------------------------------- | | slotId | number | 是 | SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2 | | smscAddr | string | 是 | 短信服务中心地址。 | **返回值:** | 类型 | 说明 | | ------------------- | ------------------------------- | | Promise<void> | 以Promise形式异步返回设置结果。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let slotId: number = 0; let smscAddr: string = '+861xxxxxxxxxx'; sms.setSmscAddr(slotId, smscAddr).then(() => { console.log(`setSmscAddr success.`); }).catch((err: BusinessError) => { console.error(`setSmscAddr failed, promise: err->${JSON.stringify(err)}`); }); ``` ## sms.getSmscAddr7+ getSmscAddr\(slotId: number, callback: AsyncCallback\\): void 获取短信服务中心(SMSC)地址。使用callback异步回调。 **系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE,该权限为系统权限 **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | ----------------------------------------- | | slotId | number | 是 | SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2 | | callback | AsyncCallback<string> | 是 | 回调函数。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let slotId: number = 0; sms.getSmscAddr(slotId, (err: BusinessError, data: string) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## sms.getSmscAddr7+ getSmscAddr\(slotId: number\): Promise\ 获取短信服务中心(SMSC)地址。使用Promise异步回调。 **系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE,该权限为系统权限 **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ----------------------------------------- | | slotId | number | 是 | SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2 | **返回值:** | 类型 | 说明 | | --------------------- | --------------------------------------------- | | Promise<string> | 以Promise形式返回获取短信服务中心地址的结果。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let slotId: number = 0; sms.getSmscAddr(slotId).then((data: string) => { console.log(`getSmscAddr success, promise: data->${JSON.stringify(data)}`); }).catch((err: BusinessError) => { console.error(`getSmscAddr failed, promise: err->${JSON.stringify(err)}`); }); ``` ## sms.hasSmsCapability7+ hasSmsCapability\(\): boolean 检查当前设备是否具备短信发送和接收能力,该方法是同步方法。 **系统能力**:SystemCapability.Telephony.SmsMms **返回值:** | 类型 | 说明 | | ------- | ------------------------------------------------------------ | | boolean | - true:设备具备短信发送和接收能力。
- false:设备不具备短信发送和接收能力。 | ```ts import sms from '@ohos.telephony.sms'; let result = sms.hasSmsCapability(); console.log(`hasSmsCapability: ${JSON.stringify(result)}`); ``` ## sms.splitMessage8+ splitMessage\(content: string, callback: AsyncCallback\\>\): void 将长短信拆分为多个片段。使用callback异步回调。 **系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SEND_MESSAGES **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ----------------------------- | ---- | ----------------------------- | | content | string | 是 | 指示短消息内容,不能为null。 | | callback | AsyncCallback> | 是 | 回调函数。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let content: string = "long message"; sms.splitMessage(content, (err: BusinessError, data: string[]) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## sms.splitMessage8+ splitMessage\(content: string\): Promise\\> 将长短信拆分为多个片段。使用Promise异步回调。 **系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SEND_MESSAGES **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | ------ | ---- | ---------------------------- | | content | string | 是 | 指示短消息内容,不能为null。 | **返回值:** | 类型 | 说明 | | ----------------------- | ----------------------------------- | | Promise> | 以Promise形式返回多个片段的的结果。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let content: string = "long message"; let promise = sms.splitMessage(content); promise.then((data: string[]) => { console.log(`splitMessage success, promise: data->${JSON.stringify(data)}`); }).catch((err: BusinessError) => { console.error(`splitMessage failed, promise: err->${JSON.stringify(err)}`); }); ``` ## sms.addSimMessage7+ addSimMessage\(options: SimMessageOptions, callback: AsyncCallback\\): void 添加SIM卡消息。使用callback异步回调。 **系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------------------- | ---- | --------------- | | options | [SimMessageOptions](#simmessageoptions7) | 是 | SIM卡消息选项。 | | callback | AsyncCallback<void> | 是 | 回调函数。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let simMessageOptions: sms.SimMessageOptions = { slotId: 0, smsc: "test", pdu: "xxxxxx", status: sms.SimMessageStatus.SIM_MESSAGE_STATUS_READ }; sms.addSimMessage(simMessageOptions, (err: BusinessError) => { console.log(`callback: err->${JSON.stringify(err)}`); }); ``` ## sms.addSimMessage7+ addSimMessage\(options: SimMessageOptions\): Promise\ 添加SIM卡消息。使用Promise异步回调。 **系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | ---------------------------------------- | ---- | --------------- | | options | [SimMessageOptions](#simmessageoptions7) | 是 | SIM卡消息选项。 | **返回值:** | 类型 | 说明 | | ------------------- | ----------------------------- | | Promise<void> | 以Promise形式返回添加的结果。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let simMessageOptions: sms.SimMessageOptions = { slotId: 0, smsc: "test", pdu: "xxxxxx", status: sms.SimMessageStatus.SIM_MESSAGE_STATUS_READ }; sms.addSimMessage(simMessageOptions).then(() => { console.log(`addSimMessage success.`); }).catch((err: BusinessError) => { console.error(`addSimMessage failed, promise: err->${JSON.stringify(err)}`); }); ``` ## sms.delSimMessage7+ delSimMessage\(slotId: number, msgIndex: number, callback: AsyncCallback\\): void 删除SIM卡消息。使用callback异步回调。 **系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ----------------------------------------- | | slotId | number | 是 | SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2 | | msgIndex | number | 是 | 消息索引。 | | callback | AsyncCallback<void> | 是 | 回调函数。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let slotId: number = 0; let msgIndex: number = 1; sms.delSimMessage(slotId, msgIndex, (err: BusinessError) => { console.log(`callback: err->${JSON.stringify(err)}`); }); ``` ## sms.delSimMessage7+ delSimMessage\(slotId: number, msgIndex: number\): Promise\ 删除SIM卡信息。使用Promise异步回调。 **系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------ | ---- | ----------------------------------------- | | slotId | number | 是 | SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2 | | msgIndex | number | 是 | 消息索引。 | **返回值:** | 类型 | 说明 | | ------------------- | ----------------------------- | | Promise<void> | 以Promise形式返回删除的结果。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let slotId: number = 0; let msgIndex: number = 1; let promise = sms.delSimMessage(slotId, msgIndex); promise.then(() => { console.log(`delSimMessage success.`); }).catch((err: BusinessError) => { console.error(`delSimMessage failed, promise: err->${JSON.stringify(err)}`); }); ``` ## sms.updateSimMessage7+ updateSimMessage\(options: UpdateSimMessageOptions, callback: AsyncCallback\\): void 更新SIM卡消息。使用callback异步回调。 **系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------------------------------- | ---- | ------------------- | | options | [UpdateSimMessageOptions](#updatesimmessageoptions7) | 是 | 更新SIM卡消息选项。 | | callback | AsyncCallback<void> | 是 | 回调函数。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let updateSimMessageOptions: sms.UpdateSimMessageOptions = { slotId: 0, msgIndex: 1, newStatus: sms.SimMessageStatus.SIM_MESSAGE_STATUS_FREE, pdu: "xxxxxxx", smsc: "test" }; sms.updateSimMessage(updateSimMessageOptions, (err: BusinessError) => { console.log(`callback: err->${JSON.stringify(err)}`); }); ``` ## sms.updateSimMessage7+ updateSimMessage\(options: UpdateSimMessageOptions\): Promise\ 更新SIM卡消息。使用Promise异步回调。 **系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | ---------------------------------------------------- | ---- | ------------------- | | options | [UpdateSimMessageOptions](#updatesimmessageoptions7) | 是 | 更新SIM卡消息选项。 | **返回值:** | 类型 | 说明 | | ------------------- | ----------------------------- | | Promise<void> | 以Promise形式返回更新的结果。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let updateSimMessageOptions: sms.UpdateSimMessageOptions = { slotId: 0, msgIndex: 1, newStatus: sms.SimMessageStatus.SIM_MESSAGE_STATUS_FREE, pdu: "xxxxxxx", smsc: "test" }; let promise = sms.updateSimMessage(updateSimMessageOptions); promise.then(() => { console.log(`updateSimMessage success.`); }).catch((err: BusinessError) => { console.error(`updateSimMessage failed, promise: err->${JSON.stringify(err)}`); }); ``` ## sms.getAllSimMessages7+ getAllSimMessages\(slotId: number, callback: AsyncCallback\\>\): void 获取所有SIM卡消息。使用callback异步回调。 **系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.RECEIVE_SMS **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ----------------------------------------------------------- | ---- | ----------------------------------------- | | slotId | number | 是 | SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2 | | callback | AsyncCallback> | 是 | 回调函数。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let slotId: number = 0; sms.getAllSimMessages(slotId, (err: BusinessError, data: sms.SimShortMessage[]) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## sms.getAllSimMessages7+ getAllSimMessages\(slotId: number\): Promise\\> 获取所有SIM卡消息。使用Promise异步回调。 **系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.RECEIVE_SMS **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ----------------------------------------- | | slotId | number | 是 | SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2 | **返回值:** | 类型 | 说明 | | ------------------------------------------------------- | ---------------------------------- | | PromiseArray<[SimShortMessage](#simshortmessage7)\>> | 以Promise形式返回获取的SIM短消息。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let slotId: number = 0; let promise = sms.getAllSimMessages(slotId); promise.then((data: sms.SimShortMessage) => { console.log(`getAllSimMessages success, promise: data->${JSON.stringify(data)}`); }).catch((err: BusinessError) => { console.error(`getAllSimMessages failed, promise: err->${JSON.stringify(err)}`); }); ``` ## sms.setCBConfig7+ setCBConfig\(options: CBConfigOptions, callback: AsyncCallback\\): void 设置小区广播配置。使用callback异步回调。 **系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.RECEIVE_SMS **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------------------ | ---- | ------------ | | options | [CBConfigOptions](#cbconfigoptions7) | 是 | 小区广播配置选项。 | | callback | AsyncCallback<void> | 是 | 回调函数。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let cbConfigOptions: sms.CBConfigOptions = { slotId: 0, enable: true, startMessageId: 100, endMessageId: 200, ranType: sms.RanType.TYPE_GSM }; sms.setCBConfig(cbConfigOptions, (err: BusinessError) => { console.log(`callback: err->${JSON.stringify(err)}`); }); ``` ## sms.setCBConfig7+ setCBConfig\(options: CBConfigOptions\): Promise\ 设置小区广播配置。使用Promise异步回调。 **系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.RECEIVE_SMS **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | ------------------------------------ | ---- | ------------ | | options | [CBConfigOptions](#cbconfigoptions7) | 是 | 小区广播配置选项。 | **返回值:** | 类型 | 说明 | | ------------------- | ----------------------------- | | Promise<void> | 以Promise形式返回设置的结果。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 201 | Permission denied. | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let cbConfigOptions: sms.CBConfigOptions = { slotId: 0, enable: true, startMessageId: 100, endMessageId: 200, ranType: sms.RanType.TYPE_GSM }; let promise = sms.setCBConfig(cbConfigOptions); promise.then(() => { console.log(`setCBConfig success.`); }).catch((err: BusinessError) => { console.error(`setCBConfig failed, promise: err->${JSON.stringify(err)}`); }); ``` ## sms.getSmsSegmentsInfo8+ getSmsSegmentsInfo\(slotId: number, message: string, force7bit: boolean, callback: AsyncCallback\\): void 获取短信段信息。使用callback异步回调。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | --------- | ------------------------------------------------------------ | ---- | ----------------------------------------- | | slotId | number | 是 | SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2 | | message | string | 是 | 消息。 | | force7bit | boolean | 是 | 是否使用7 bit编码。 | | callback | AsyncCallback<[SmsSegmentsInfo](#smssegmentsinfo8)> | 是 | 回调函数。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let slotId: number = 0; sms.getSmsSegmentsInfo(slotId, "message", false, (err: BusinessError, data: sms.SmsSegmentsInfo) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## sms.getSmsSegmentsInfo8+ getSmsSegmentsInfo\(slotId: number, message: string, force7bit: boolean\): Promise\ 获取短信段信息。使用Promise异步回调。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | --------- | ------- | ---- | ----------------------------------------- | | slotId | number | 是 | SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2 | | message | string | 是 | 消息。 | | force7bit | boolean | 是 | 是否使用7 bit编码。 | **返回值:** | 类型 | 说明 | | ------------------------------------------------------- | ----------------------------- | | Promise<[SmsSegmentsInfo](#smssegmentsinfo8)> | 以Promise形式返回短信段信息。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let slotId: number = 0; let promise = sms.getSmsSegmentsInfo(slotId, "message", false); promise.then((data: sms.SmsSegmentsInfo) => { console.log(`getSmsSegmentsInfo success, promise: data->${JSON.stringify(data)}`); }).catch((err: BusinessError) => { console.error(`getSmsSegmentsInfo failed, promise: err->${JSON.stringify(err)}`); }); ``` ## sms.isImsSmsSupported8+ isImsSmsSupported\(slotId: number, callback: AsyncCallback\\): void 如果IMS已注册并且在IMS上支持SMS,则支持通过IMS发送SMS。使用callback异步回调。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------- | ---- | ---------- | | slotId | number | 是 | SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2 | | callback | AsyncCallback<boolean> | 是 | 回调函数。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let slotId: number = 0; sms.isImsSmsSupported(slotId, (err: BusinessError, data: boolean) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## sms.isImsSmsSupported8+ isImsSmsSupported\(slotId: number\): Promise\ 如果IMS已注册并且在IMS上支持SMS,则支持通过IMS发送SMS。使用Promise异步回调。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | -------------------------------------- | | slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | **返回值:** | 类型 | 说明 | | ---------------------- | ----------------------- | | Promise<boolean> | 以Promise形式返回结果。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let slotId: number = 0; let promise = sms.isImsSmsSupported(slotId); promise.then((data: boolean) => { console.log(`isImsSmsSupported success, promise: data->${JSON.stringify(data)}`); }).catch((err: BusinessError) => { console.error(`isImsSmsSupported failed, promise: err->${JSON.stringify(err)}`); }); ``` ## sms.getImsShortMessageFormat8+ getImsShortMessageFormat\(callback: AsyncCallback\\): void 获取IMS上支持的SMS格式。使用callback异步回调。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | ---------- | | callback | AsyncCallback<string> | 是 | 回调函数。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; sms.getImsShortMessageFormat((err: BusinessError, data: string) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## sms.getImsShortMessageFormat8+ getImsShortMessageFormat\(\): Promise\ 获取IMS上支持的SMS格式。使用Promise异步回调。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms **返回值:** | 类型 | 说明 | | --------------------- | -------------------------- | | Promise<string> | 以Promise形式返回SMS格式。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 202 | Non-system applications use system APIs. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; sms.getImsShortMessageFormat().then((data: string) => { console.log(`getImsShortMessageFormat success, promise: data->${JSON.stringify(data)}`); }).catch((err: BusinessError) => { console.error(`getImsShortMessageFormat failed, promise: err->${JSON.stringify(err)}`); }); ``` ## sms.decodeMms8+ decodeMms\(mmsFilePathName: string | Array\, callback: AsyncCallback\\): void 彩信解码。使用callback异步回调。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | --------------- | ------------------------------------------------------- | ---- | -------------- | | mmsFilePathName | string \|Array | 是 | 彩信文件路径名。 | | callback | AsyncCallback<[MmsInformation](#mmsinformation8)> | 是 | 回调函数。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let mmsFilePathName: string = "filename"; sms.decodeMms(mmsFilePathName, (err: BusinessError, data: sms.MmsInformation) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## sms.decodeMms8+ decodeMms\(mmsFilePathName: string | Array\\): Promise\ 彩信解码。使用Promise异步回调。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | --------------- | ----------------------- | ---- | -------------- | | mmsFilePathName | string \|Array | 是 | 彩信文件路径名 | **返回值:** | 类型 | 说明 | | --------------------------------------------------------- | --------------------------- | | Promise<<[MmsInformation](#mmsinformation8)>> | 以Promise形式返回彩信信息。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let mmsFilePathName: string = "filename"; let promise = sms.decodeMms(mmsFilePathName); promise.then((data: sms.MmsInformation) => { console.log(`decodeMms success, promise: data->${JSON.stringify(data)}`); }).catch((err: BusinessError) => { console.error(`decodeMms failed, promise: err->${JSON.stringify(err)}`); }); ``` ## sms.encodeMms8+ encodeMms\(mms: MmsInformation, callback: AsyncCallback\\>\): void 彩信编码。使用callback异步回调。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ----------------------------------- | ---- | ---------- | | mms | [MmsInformation](#mmsinformation8) | 是 | 彩信信息。 | | callback | AsyncCallback<Array> | 是 | 回调函数。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let mmsAcknowledgeInd: sms.MmsAcknowledgeInd = { transactionId: "100", version: sms.MmsVersionType.MMS_VERSION_1_0, reportAllowed: sms.ReportType.MMS_YES }; let mmsInformation: sms.MmsInformation = { messageType: sms.MessageType.TYPE_MMS_ACKNOWLEDGE_IND, mmsType: mmsAcknowledgeInd }; sms.encodeMms(mmsInformation, (err: BusinessError, data: number[]) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## sms.encodeMms8+ encodeMms\(mms: MmsInformation\): Promise\\> 彩信编码。使用Promise异步回调。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ---------------------------------- | ---- | ---------- | | mms | [MmsInformation](#mmsinformation8) | 是 | 彩信信息。 | **返回值:** | 类型 | 说明 | | ----------------------------- | ----------------------------------- | | Promise<Array> | 以Promise形式返回彩信编码后的结果。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 202 | Non-system applications use system APIs. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300999 | Unknown error code. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let mmsAcknowledgeInd: sms.MmsAcknowledgeInd = { transactionId: "100", version: sms.MmsVersionType.MMS_VERSION_1_0, reportAllowed: sms.ReportType.MMS_YES }; let mmsInformation: sms.MmsInformation = { messageType: sms.MessageType.TYPE_MMS_ACKNOWLEDGE_IND, mmsType: mmsAcknowledgeInd }; sms.encodeMms(mmsInformation).then((data: number[]) => { console.log(`encodeMms success, promise: data->${JSON.stringify(data)}`); }).catch((err: BusinessError) => { console.error(`encodeMms failed, promise: err->${JSON.stringify(err)}`); }); ``` ## sms.getDefaultSmsSimId10+ getDefaultSmsSimId\(callback: AsyncCallback<number>\): void 获取发送短信的默认SIM卡ID。使用callback异步回调。 **系统能力**:SystemCapability.Telephony.SmsMms **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | ---------------------------------------- | | callback | AsyncCallback<number> | 是 | 回调函数。
与SIM卡绑定,从1开始递增。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300004 | Do not have sim card. | | 8300999 | Unknown error code. | | 8301001 | SIM card is not activated. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; sms.getDefaultSmsSimId((err: BusinessError, data: number) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## sms.getDefaultSmsSimId10+ getDefaultSmsSimId\(\): Promise<number> 获取发送短信的默认SIM卡ID。使用Promise异步回调。 **系统能力**:SystemCapability.Telephony.SmsMms **返回值:** | 类型 | 说明 | | --------------- | ------------------------------------------------------------ | | Promise<number> | 以Promise形式返回发送短信的默认SIM卡ID:
与SIM卡绑定,从1开始递增。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。 | 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | | 8300003 | System internal error. | | 8300004 | Do not have sim card. | | 8300999 | Unknown error code. | | 8301001 | SIM card is not activated. | **示例:** ```ts import sms from '@ohos.telephony.sms'; import { BusinessError } from '@ohos.base'; let promise = sms.getDefaultSmsSimId(); promise.then((data: number) => { console.log(`getDefaultSmsSimId success, promise: data->${JSON.stringify(data)}`); }).catch((err: BusinessError) => { console.error(`getDefaultSmsSimId failed, promise: err->${JSON.stringify(err)}`); }); ``` ## ShortMessage 短信实例。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | ------------------------ | --------------------------------------- | ---- | ------------------------------------------------------------ | | hasReplyPath | boolean | 是 | 收到的短信是否包含“TP-Reply-Path”,默认为false。
“TP-Reply-Path”:设备根据发送SMS消息的短消息中心进行回复。 | | isReplaceMessage | boolean | 是 | 收到的短信是否为“替换短信”,默认为false。
“替换短信”有关详细信息,参见 “3GPP TS 23.040 9.2.3.9”。 | | isSmsStatusReportMessage | boolean | 是 | 当前消息是否为“短信状态报告”,默认为false。
“短信状态报告”是一种特定格式的短信,被用来从Service Center到Mobile Station传送状态报告。| | messageClass | [ShortMessageClass](#shortmessageclass) | 是 | 短信类型。 | | pdu | Array<number> | 是 | SMS消息中的协议数据单元 (PDU)。 | | protocolId | number | 是 | 发送短信时使用的协议标识。 | | scAddress | string | 是 | 短消息服务中心(SMSC)地址。 | | scTimestamp | number | 是 | SMSC时间戳。 | | status | number | 是 | SMS-STATUS-REPORT消息中的短信状态指示短信服务中心(SMSC)发送的短信状态。 | | visibleMessageBody | string | 是 | 短信正文。 | | visibleRawAddress | string | 是 | 发送者地址。 | ## ShortMessageClass 短信类型。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 值 | 说明 | | ---------------- | ---- | ---------------------------------------- | | UNKNOWN | 0 | 未知类型。 | | INSTANT_MESSAGE | 1 | 即时消息,收到后立即显示。 | | OPTIONAL_MESSAGE | 2 | 存储在设备或SIM卡上的短信。 | | SIM_MESSAGE | 3 | 包含SIM卡信息的短信,需要存储在SIM卡中。 | | FORWARD_MESSAGE | 4 | 要转发到另一台设备的短信。 | ## SendMessageOptions 发送短信的参数和回调。根据SendMessageOptions中的可选参数content的值判断短信类型。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | ---------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | slotId | number | 是 | 用于发送短信的SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2 | | destinationHost | string | 是 | 短信的发送地址。 | | content | string \| Array<number> | 是 | 如果内容是字符串,则这是一条文本短信。如果内容是字节数组,则这是一条数据短信。 | | serviceCenter | string | 否 | 短信中心地址。默认使用SIM卡中的短信中心地址。 | | destinationPort | number | 否 | 如果发送数据消息,destinationPort 是必需的。否则是可选的。 | | sendCallback | AsyncCallback<[ISendShortMessageCallback](#isendshortmessagecallback)> | 否 | 短信发送结果回调,返回短信发送的结果,参考[ISendShortMessageCallback](#isendshortmessagecallback)。 | | deliveryCallback | AsyncCallback<[IDeliveryShortMessageCallback](#ideliveryshortmessagecallback)> | 否 | 短信送达结果回调,返回短信递送报告,参考[IDeliveryShortMessageCallback](#ideliveryshortmessagecallback)。 | ## ISendShortMessageCallback 回调实例。返回短信发送结果、存储已发送短信的URI和是否为长短信的最后一部分。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | ---------- | ------------------------------- | ---- | ----------------------------------------------------------------------------------------- | | isLastPart | boolean | 否 | 指定这是否是长短信的最后一部分。true表示这是长短信的最后一部分,false表示不是。默认为false。 | | result | [SendSmsResult](#sendsmsresult) | 是 | 短信发送结果。 | | url | string | 是 | 存储发送短信的URI。 | ## IDeliveryShortMessageCallback 回调实例,返回短信送达报告。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | ---- | ------------------- | ---- | -------------- | | pdu | Array<number> | 是 | 短信送达报告。 | ## SendSmsResult 短信发送结果。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 值 | 说明 | | ------------------------------------ | ---- | ------------------------------------------------------ | | SEND_SMS_SUCCESS | 0 | 发送短信成功。 | | SEND_SMS_FAILURE_UNKNOWN | 1 | 发送短信失败,原因未知。 | | SEND_SMS_FAILURE_RADIO_OFF | 2 | 发送短信失败,原因为调制解调器关机。 | | SEND_SMS_FAILURE_SERVICE_UNAVAILABLE | 3 | 发送短信失败,原因为网络不可用、不支持发送或接收短信。 | ## MmsInformation8+ 彩信信息。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | ----------- | ------------------------------------------------------------ | ---- | ---------- | | messageType | [MessageType](#messagetype8) | 是 | 消息类型。 | | mmsType | [MmsSendReq](#mmssendreq8) \|[MmsSendConf](#mmssendconf8) \|[MmsNotificationInd](#mmsnotificationind8) \|[MmsRespInd](#mmsrespind8) \|[MmsRetrieveConf](#mmsretrieveconf8)\|[MmsAcknowledgeInd](#mmsacknowledgeind8)\|[MmsDeliveryInd](#mmsdeliveryind8)\|[MmsReadOrigInd](#mmsreadorigind8)\|[MmsReadRecInd](#mmsreadrecind8) | 是 | PDU头类型 | | attachment | Array<[MmsAttachment](#mmsattachment8)\> | 否 | 附件 | ## MmsSendReq8+ 彩信发送请求。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | ---------------- | ------------------------------------ | ---- | ------------ | | from | [MmsAddress](#mmsaddress8) | 是 | 彩信来源 | | transactionId | string | 是 | 事务ID | | contentType | string | 是 | 内容类型 | | version | [MmsVersionType](#mmsversiontype8) | 是 | 版本 | | to | Array<[MmsAddress](#mmsaddress8)\> | 否 | 发送至 | | date | number | 否 | 日期 | | cc | Array<[MmsAddress](#mmsaddress8)\> | 否 | 抄送 | | bcc | Array<[MmsAddress](#mmsaddress8)\> | 否 | 暗抄送 | | subject | string | 否 | 主题 | | messageClass | number | 否 | 消息类 | | expiry | number | 否 | 到期 | | priority | [MmsPriorityType](#mmsprioritytype8) | 否 | 优先 | | senderVisibility | number | 否 | 发件人可见性 | | deliveryReport | number | 否 | 交付报告 | | readReport | number | 否 | 阅读报告 | ## MmsSendConf8+ 彩信发送配置。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | ------------- | ---------------------------------- | ---- | -------- | | responseState | number | 是 | 响应状态 | | transactionId | string | 是 | 事务ID | | version | [MmsVersionType](#mmsversiontype8) | 是 | 版本 | | messageId | string | 否 | 消息ID | ## MmsNotificationInd8+ 彩信通知索引。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | --------------- | ---------------------------------- | ---- | -------- | | transactionId | string | 是 | 事务ID | | messageClass | number | 是 | 消息类 | | messageSize | number | 是 | 消息大小 | | expiry | number | 是 | 到期 | | contentLocation | string | 是 | 内容位置 | | version | [MmsVersionType](#mmsversiontype8) | 是 | 版本 | | from | [MmsAddress](#mmsaddress8) | 否 | 来源 | | subject | string | 否 | 主题 | | deliveryReport | number | 否 | 状态报告 | | contentClass | number | 否 | 内容类 | ## MmsAcknowledgeInd8+ 彩信确认索引。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | ------------- | ---------------------------------- | ---- | -------- | | transactionId | string | 是 | 事务ID | | version | [MmsVersionType](#mmsversiontype8) | 是 | 版本 | | reportAllowed | [ReportType](#reporttype8) | 否 | 允许报告 | ## MmsRetrieveConf8+ 彩信检索配置。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | -------------- | ------------------------------------ | ---- | -------- | | transactionId | string | 是 | 事务ID | | messageId | string | 是 | 消息ID | | date | number | 是 | 日期 | | contentType | string | 是 | 内容类型 | | to | Array<[MmsAddress](#mmsaddress8)\> | 是 | 发送至 | | version | [MmsVersionType](#mmsversiontype8) | 是 | 版本 | | from | [MmsAddress](#mmsaddress8) | 否 | 来源 | | cc | Array<[MmsAddress](#mmsaddress8)\> | 否 | 抄送 | | subject | string | 否 | 主题 | | priority | [MmsPriorityType](#mmsprioritytype8) | 否 | 优先级 | | deliveryReport | number | 否 | 状态报告 | | readReport | number | 否 | 阅读报告 | | retrieveStatus | number | 否 | 检索状态 | | retrieveText | string | 否 | 检索文本 | ## MmsReadOrigInd8+ 彩信读取原始索引。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | ---------- | ---------------------------------- | ---- | -------- | | version | [MmsVersionType](#mmsversiontype8) | 是 | 版本 | | messageId | string | 是 | 消息ID | | to | Array<[MmsAddress](#mmsaddress8)\> | 是 | 发送至 | | from | [MmsAddress](#mmsaddress8) | 是 | 来源 | | date | number | 是 | 日期 | | readStatus | number | 是 | 阅读状态 | ## MmsReadRecInd8+ 彩信读取记录索引。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | ---------- | ---------------------------------- | ---- | -------- | | version | [MmsVersionType](#mmsversiontype8) | 是 | 版本 | | messageId | string | 是 | 消息ID | | to | Array<[MmsAddress](#mmsaddress8)\> | 是 | 发送至 | | from | [MmsAddress](#mmsaddress8) | 是 | 来源 | | readStatus | number | 是 | 阅读状态 | | date | number | 否 | 日期 | ## MmsAttachment8+ 彩信附件。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | ----------------------- | ------------------------------------ | ---- | ------------------ | | contentId | string | 是 | 内容ID | | contentLocation | string | 是 | 内容位置 | | contentDisposition | [DispositionType](#dispositiontype8) | 是 | 内容处理 | | contentTransferEncoding | string | 是 | 内容传输编码 | | contentType | string | 是 | 内容类型 | | isSmil | boolean | 是 | 同步多媒体集成语言 | | path | string | 否 | 路径 | | inBuff | Array | 否 | 缓冲区中 | | fileName | string | 否 | 文件名 | | charset | [MmsCharSets](#mmscharsets8) | 否 | 字符集 | ## MmsAddress8+ 彩信地址。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | ------- | ---------------------------- | ---- | ------ | | address | string | 是 | 地址 | | charset | [MmsCharSets](#mmscharsets8) | 是 | 字符集 | ## MessageType8+ 消息类型。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 值 | 说明 | | ------------------------- | ---- | -------------------- | | TYPE_MMS_SEND_REQ | 128 | 彩信发送请求类型 | | TYPE_MMS_SEND_CONF | 129 | 彩信发送配置类型 | | TYPE_MMS_NOTIFICATION_IND | 130 | 彩信通知索引类型 | | TYPE_MMS_RESP_IND | 131 | 彩信回复索引类型 | | TYPE_MMS_RETRIEVE_CONF | 132 | 彩信检索配置类型 | | TYPE_MMS_ACKNOWLEDGE_IND | 133 | 彩信确认索引类型 | | TYPE_MMS_DELIVERY_IND | 134 | 彩信传送索引类型 | | TYPE_MMS_READ_REC_IND | 135 | 彩信读取接收索引类型 | | TYPE_MMS_READ_ORIG_IND | 136 | 彩信读取原始索引类型 | ## MmsPriorityType8+ 彩信优先级类型。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 值 | 说明 | | ---------- | ---- | -------------- | | MMS_LOW | 128 | 彩信优先级低 | | MMS_NORMAL | 129 | 彩信优先级正常 | | MMS_HIGH | 130 | 彩信优先级高 | ## MmsVersionType8+ 彩信版本类型。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 值 | 说明 | | --------------- | ---- | ----------- | | MMS_VERSION_1_0 | 0x10 | 彩信版本1_0 | | MMS_VERSION_1_1 | 0x11 | 彩信版本1_1 | | MMS_VERSION_1_2 | 0x12 | 彩信版本1_2 | | MMS_VERSION_1_3 | 0x13 | 彩信版本1_3 | ## MmsCharSets8+ 彩信字符集。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 值 | 说明 | | --------------- | ------ | ------------------- | | BIG5 | 0X07EA | BIG5格式 | | ISO_10646_UCS_2 | 0X03E8 | ISO_10646_UCS_2格式 | | ISO_8859_1 | 0X04 | ISO_8859_1格式 | | ISO_8859_2 | 0X05 | ISO_8859_2格式 | | ISO_8859_3 | 0X06 | ISO_8859_3格式 | | ISO_8859_4 | 0X07 | ISO_8859_4格式 | | ISO_8859_5 | 0X08 | ISO_8859_5格式 | | ISO_8859_6 | 0X09 | ISO_8859_6格式 | | ISO_8859_7 | 0X0A | ISO_8859_7格式 | | ISO_8859_8 | 0X0B | ISO_8859_8格式 | | ISO_8859_9 | 0X0C | ISO_8859_9格式 | | SHIFT_JIS | 0X11 | SHIFT_JIS格式 | | US_ASCII | 0X03 | US_ASCII格式 | | UTF_8 | 0X6A | UTF_8格式 | ## DispositionType8+ 处理类型。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 值 | 说明 | | ---------- | ---- | -------- | | FROM_DATA | 0 | 数据来源 | | ATTACHMENT | 1 | 附件 | | INLINE | 2 | 内联 | ## ReportType8+ 报告类型。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 值 | 说明 | | ------- | ---- | ---- | | MMS_YES | 128 | YES | | MMS_NO | 129 | NO | ## CBConfigOptions7+ 小区广播配置选项。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | -------------- | -------------------- | ---- | ------------ | | slotId | number | 是 | 卡槽ID | | enable | boolean | 是 | 可行 | | startMessageId | number | 是 | 消息起始ID | | endMessageId | number | 是 | 消息结束ID | | ranType | [RanType](#rantype7) | 是 | 设备网络制式 | ## SimMessageStatus7+ SIM卡消息状态。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 值 | 说明 | | ------------------------- | ---- | --------------------------- | | SIM_MESSAGE_STATUS_FREE | 0 | SIM卡上的状态可用空间 | | SIM_MESSAGE_STATUS_READ | 1 | 消息已读状态 | | SIM_MESSAGE_STATUS_UNREAD | 3 | 消息未读状态 | | SIM_MESSAGE_STATUS_SENT | 5 | 存储发送消息(仅适用于SMS) | | SIM_MESSAGE_STATUS_UNSENT | 7 | 储未发送消息(仅适用于SMS) | ## RanType7+ 设备网络制式。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 值 | 说明 | | --------- | ---- | ---- | | TYPE_GSM | 1 | GSM | | TYPE_CDMA | 2 | CMDA | ## SmsEncodingScheme8+ 短信编码方案。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 值 | 说明 | | -------------------- | ---- | ------------ | | SMS_ENCODING_UNKNOWN | 0 | 未知短信编码 | | SMS_ENCODING_7BIT | 1 | 7位短信编码 | | SMS_ENCODING_8BIT | 2 | 8位短信编码 | | SMS_ENCODING_16BIT | 3 | 16位短信编码 | ## SimMessageOptions7+ SIM卡消息选项。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | ------ | -------------------------------------- | ---- | -------------- | | slotId | number | 是 | 卡槽ID | | smsc | string | 是 | 短消息业务中心 | | pdu | string | 是 | 协议数据单元 | | status | [SimMessageStatus](#simmessagestatus7) | 是 | 状态 | ## UpdateSimMessageOptions7+ 更新SIM卡消息选项。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | --------- | -------------------------------------- | ---- | -------------- | | slotId | number | 是 | 卡槽ID | | msgIndex | number | 是 | 消息索引 | | newStatus | [SimMessageStatus](#simmessagestatus7) | 是 | 新状态 | | pdu | string | 是 | 协议数据单元 | | smsc | string | 是 | 短消息业务中心 | ## SimShortMessage7+ SIM卡短消息。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | ---------------- | -------------------------------------- | ---- | ------------- | | shortMessage | [ShortMessage](#shortmessage) | 是 | 短消息 | | simMessageStatus | [SimMessageStatus](#simmessagestatus7) | 是 | SIM卡消息状态 | | indexOnSim | number | 是 | SIM卡索引 | ## MmsDeliveryInd8+ 彩信发送标识。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | --------- | ---------------------------------- | ---- | ------ | | messageId | string | 是 | 消息ID | | date | number | 是 | 日期 | | to | Array<[MmsAddress](#mmsaddress8)\> | 是 | 发送至 | | status | number | 是 | 状态 | | version | [MmsVersionType](#mmsversiontype8) | 是 | 版本 | ## MmsRespInd8+ 彩信回复标志。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | ------------- | ---------------------------------- | ---- | -------- | | transactionId | string | 是 | 事件ID | | status | number | 是 | 状态 | | version | [MmsVersionType](#mmsversiontype8) | 是 | 版本 | | reportAllowed | [ReportType](#reporttype8) | 否 | 允许报告 | ## SmsSegmentsInfo8+ 短信段信息。 **系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms | 名称 | 类型 | 必填 | 说明 | | -------------------- | ---------------------------------------- | ---- | ------------ | | splitCount | number | 是 | 拆分计数 | | encodeCount | number | 是 | 编码计数 | | encodeCountRemaining | number | 是 | 剩余编码计数 | | scheme | [SmsEncodingScheme](#smsencodingscheme8) | 是 | 短信编码方案 |