@ohos.telephony.sms (短信服务)

短信服务提供了管理短信的一些基础能力,包括创建、发送短信,获取、设置发送短信的默认SIM卡槽ID,获取、设置短信服务中心(SMSC)地址,以及检查当前设备是否具备短信发送和接收能力等。

说明:

本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import sms from '@ohos.telephony.sms';

sms.createMessage

createMessage(pdu: Array<number>, specification: string, callback: AsyncCallback<ShortMessage>): void

根据协议数据单元(PDU)和指定的短信协议创建短信实例。使用callback异步回调。

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
pdu Array<number> 协议数据单元,从收到的信息中获取。
specification string 短信协议类型。
- 3gpp:表示GSM/UMTS/LTE SMS
- 3gpp2:表示CDMA SMS
callback AsyncCallback<ShortMessage> 获取短信实例的回调函数

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码ID 错误信息
401 Parameter error.
8300001 Invalid parameter value.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300999 Unknown error code.

示例:

import sms from '@ohos.telephony.sms';
import { BusinessError } from '@ohos.base';

const specification: string = '3gpp';
// 以数组的形式显示协议数据单元(PDU),类型为number。
const pdu: Array<number> = [0x01, 0x00, 0x05, 0x81, 0x01, 0x80, 0xF6, 0x00, 0x00, 0x05, 0xE8, 0x32, 0x9B, 0xFD, 0x06];
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<ShortMessage>

根据协议数据单元(PDU)和指定的短信协议创建短信实例。使用Promise异步回调。

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
pdu Array<number> 协议数据单元,从收到的信息中获取。
specification string 短信协议类型。
- 3gpp:表示GSM/UMTS/LTE SMS
- 3gpp2:表示CDMA SMS

返回值:

类型 说明
Promise<ShortMessage> 以Promise形式返回创建的短信实例。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码ID 错误信息
401 Parameter error.
8300001 Invalid parameter value.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300999 Unknown error code.

示例:

import sms from '@ohos.telephony.sms';
import { BusinessError } from '@ohos.base';

const specification: string = '3gpp';
// 以数组的形式显示协议数据单元(PDU),类型为number。
const pdu: Array<number> = [0x01, 0x00, 0x05, 0x81, 0x01, 0x80, 0xF6, 0x00, 0x00, 0x05, 0xE8, 0x32, 0x9B, 0xFD, 0x06];
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 6开始支持,从API version 10开始废弃。建议使用sendShortMessage替代。

需要权限:ohos.permission.SEND_MESSAGES

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
options SendMessageOptions 发送短信的参数和回调,参考SendMessageOptions

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

import sms from '@ohos.telephony.sms';
import { AsyncCallback } from '@ohos.base';
import { BusinessError } from '@ohos.base';

let sendCallback: AsyncCallback<sms.ISendShortMessageCallback> = (err: BusinessError, data: sms.ISendShortMessageCallback[]) => {
    console.log(`sendCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); 
};
let deliveryCallback: AsyncCallback<sms.IDeliveryShortMessageCallback> = (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
callback AsyncCallback<void> 发送短信的回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

import sms from '@ohos.telephony.sms';
import { AsyncCallback } from '@ohos.base';
import { BusinessError } from '@ohos.base';

let sendCallback: AsyncCallback<sms.ISendShortMessageCallback> = (err: BusinessError, data: sms.ISendShortMessageCallback) => {
    console.log(`sendCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
};
let deliveryCallback: AsyncCallback<sms.IDeliveryShortMessageCallback> = (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

返回值:

类型 说明
Promise<void> 以Promise形式返回发送短信的结果。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

import sms from '@ohos.telephony.sms';
import { AsyncCallback } from '@ohos.base';
import { BusinessError } from '@ohos.base';

let sendCallback: AsyncCallback<sms.ISendShortMessageCallback> = (err: BusinessError, data: sms.ISendShortMessageCallback) => {
    console.log(`sendCallback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
};
let deliveryCallback: AsyncCallback<sms.IDeliveryShortMessageCallback> = (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> 获取发送短信的默认SIM卡槽ID的回调函数。
- 0:卡槽1
- 1:卡槽2

示例:

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

示例:

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> 设置发送短信的默认SIM卡槽ID的回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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<void> 以Promise形式异步返回设置结果。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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>): void

设置短信服务中心(SMSC)地址。使用callback异步回调。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.SET_TELEPHONY_STATE,该权限为系统权限

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
slotId number SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2
smscAddr string 短信服务中心地址。
callback AsyncCallback<void> 设置短信服务中心(SMSC)地址的回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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<void>

设置短信服务中心(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(电话子系统)错误码

错误码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.

示例:

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<string>): void

获取短信服务中心(SMSC)地址。使用callback异步回调。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.GET_TELEPHONY_STATE,该权限为系统权限

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
slotId number SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2
callback AsyncCallback<string> 指示用于获取SMSC地址的回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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<string>

获取短信服务中心(SMSC)地址。使用Promise异步回调。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.GET_TELEPHONY_STATE,该权限为系统权限

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
slotId number SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2

返回值:

类型 说明
Promise<string> 以Promise形式返回获取短信服务中心地址的结果。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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:设备不具备短信发送和接收能力。
import sms from '@ohos.telephony.sms';

let result = sms.hasSmsCapability(); 
console.log(`hasSmsCapability: ${JSON.stringify(result)}`);

sms.splitMessage8+

splitMessage(content: string, callback: AsyncCallback<Array<string>>): void

将长短信拆分为多个片段。使用callback异步回调。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.SEND_MESSAGES

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
content string 指示短消息内容,不能为null。
callback AsyncCallback<Array<string>> 返回可合并为完整SMS的拆分段列表的回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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<Array<string>>

将长短信拆分为多个片段。使用Promise异步回调。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.SEND_MESSAGES

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
content string 指示短消息内容,不能为null。

返回值:

类型 说明
Promise<Array<string>> 以Promise形式返回多个片段的的结果。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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>): void

添加SIM卡消息,sim卡消息满,添加报错。使用callback异步回调。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
options SimMessageOptions SIM卡消息选项。
callback AsyncCallback<void> 添加SIM卡消息的回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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<void>

添加SIM卡消息,sim卡消息满,添加报错。使用Promise异步回调。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
options SimMessageOptions SIM卡消息选项。

返回值:

类型 说明
Promise<void> 以Promise形式返回添加的结果。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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>): void

删除SIM卡消息,msgIndex无效时,删除报错。使用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> 删除SIM卡消息的回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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<void>

删除SIM卡消息,msgIndex无效时,删除报错。使用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(电话子系统)错误码

错误码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.

示例:

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>): void

更新SIM卡消息。使用callback异步回调。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
options UpdateSimMessageOptions 更新SIM卡消息选项。
callback AsyncCallback<void> 更新SIM卡消息的回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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<void>

更新SIM卡消息。使用Promise异步回调。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
options UpdateSimMessageOptions 更新SIM卡消息选项。

返回值:

类型 说明
Promise<void> 以Promise形式返回更新的结果。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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<Array<SimShortMessage>>): void

获取所有SIM卡消息。使用callback异步回调。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.RECEIVE_SMS

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
slotId number SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2
callback AsyncCallback<Array<SimShortMessage>> 获取所有SIM卡消息的回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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<Array<SimShortMessage>>

获取所有SIM卡消息。使用Promise异步回调。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.RECEIVE_SMS

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
slotId number SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2

返回值:

类型 说明
Promise<Array<SimShortMessage>> 以Promise形式返回获取的SIM短消息。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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>): void

设置小区广播配置。使用callback异步回调。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.RECEIVE_SMS

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
options CBConfigOptions 小区广播配置选项。
callback AsyncCallback<void> 设置小区广播配置的回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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<void>

设置小区广播配置。使用Promise异步回调。

系统接口: 此接口为系统接口。

需要权限:ohos.permission.RECEIVE_SMS

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
options CBConfigOptions 小区广播配置选项。

返回值:

类型 说明
Promise<void> 以Promise形式返回设置的结果。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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<SmsSegmentsInfo>): void

获取短信段信息。使用callback异步回调。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
slotId number SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2
message string 消息。
force7bit boolean 是否使用7 bit编码。
callback AsyncCallback<SmsSegmentsInfo> 指示用于获取短信短信息的回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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<SmsSegmentsInfo>

获取短信段信息。使用Promise异步回调。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
slotId number SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2
message string 消息。
force7bit boolean 是否使用7 bit编码。

返回值:

类型 说明
Promise<SmsSegmentsInfo> 以Promise形式返回短信段信息。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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<boolean>): void

如果IMS已注册并且在IMS上支持SMS,则支持通过IMS发送SMS。使用callback异步回调。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
slotId number SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2
callback AsyncCallback<boolean> 指示是否支持IMS发送SMS的回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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<boolean>

如果IMS已注册并且在IMS上支持SMS,则支持通过IMS发送SMS。使用Promise异步回调。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。
- 0:卡槽1
- 1:卡槽2

返回值:

类型 说明
Promise<boolean> 以Promise形式返回结果。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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<string>): void

获取IMS上支持的SMS格式。使用callback异步回调。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
callback AsyncCallback<string> 指示用于获取格式、3gpp、3gpp2或未知的回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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<string>

获取IMS上支持的SMS格式。使用Promise异步回调。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

返回值:

类型 说明
Promise<string> 以Promise形式返回SMS格式。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码ID 错误信息
202 Non-system applications use system APIs.
8300002 Operation failed. Cannot connect to service.
8300003 System internal error.
8300999 Unknown error code.

示例:

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<number>, callback: AsyncCallback<MmsInformation>): void

彩信解码。使用callback异步回调。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
mmsFilePathName string |Array<number> 彩信文件路径名。
callback AsyncCallback<MmsInformation> 指示用于获取{@code MmsInformation}的回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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<number>): Promise<MmsInformation>

彩信解码。使用Promise异步回调。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
mmsFilePathName string |Array<number> 彩信文件路径名

返回值:

类型 说明
Promise<<MmsInformation>> 以Promise形式返回彩信信息。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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<Array<number>>): void

彩信编码。使用callback异步回调。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
mms MmsInformation 彩信信息。
callback AsyncCallback<Array<number>> 指示用于获取MMS编码结果的回调函数。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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<Array<number>>

彩信编码。使用Promise异步回调。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名 类型 必填 说明
mms MmsInformation 彩信信息。

返回值:

类型 说明
Promise<Array<number>> 以Promise形式返回彩信编码后的结果。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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的SIM ID的回调函数。
与SIM卡绑定,从1开始递增。

错误码:

以下错误码的详细介绍请参见ohos.telephony(电话子系统)错误码

错误码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.

示例:

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(电话子系统)错误码

错误码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.

示例:

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 短信类型。
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
deliveryCallback AsyncCallback<IDeliveryShortMessageCallback> 短信送达结果回调,返回短信递送报告,参考IDeliveryShortMessageCallback

ISendShortMessageCallback

回调实例。返回短信发送结果、存储已发送短信的URI和是否为长短信的最后一部分。

系统能力:SystemCapability.Telephony.SmsMms

名称 类型 必填 说明
isLastPart boolean 指定这是否是长短信的最后一部分。true表示这是长短信的最后一部分,false表示不是。默认为false。
result 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 消息类型。
mmsType MmsSendReq |MmsSendConf |MmsNotificationInd |MmsRespInd |MmsRetrieveConf|MmsAcknowledgeInd|MmsDeliveryInd|MmsReadOrigInd|MmsReadRecInd PDU头类型
attachment Array<MmsAttachment> 附件

MmsSendReq8+

彩信发送请求。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

名称 类型 必填 说明
from MmsAddress 彩信来源
transactionId string 事务ID
contentType string 内容类型
version MmsVersionType 版本
to Array<MmsAddress> 发送至
date number 日期
cc Array<MmsAddress> 抄送
bcc Array<MmsAddress> 暗抄送
subject string 主题
messageClass number 消息类
expiry number 到期
priority MmsPriorityType 优先
senderVisibility number 发件人可见性
deliveryReport number 交付报告
readReport number 阅读报告

MmsSendConf8+

彩信发送配置。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

名称 类型 必填 说明
responseState number 响应状态
transactionId string 事务ID
version MmsVersionType 版本
messageId string 消息ID

MmsNotificationInd8+

彩信通知索引。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

名称 类型 必填 说明
transactionId string 事务ID
messageClass number 消息类
messageSize number 消息大小
expiry number 到期
contentLocation string 内容位置
version MmsVersionType 版本
from MmsAddress 来源
subject string 主题
deliveryReport number 状态报告
contentClass number 内容类

MmsAcknowledgeInd8+

彩信确认索引。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

名称 类型 必填 说明
transactionId string 事务ID
version MmsVersionType 版本
reportAllowed ReportType 允许报告

MmsRetrieveConf8+

彩信检索配置。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

名称 类型 必填 说明
transactionId string 事务ID
messageId string 消息ID
date number 日期
contentType string 内容类型
to Array<MmsAddress> 发送至
version MmsVersionType 版本
from MmsAddress 来源
cc Array<MmsAddress> 抄送
subject string 主题
priority MmsPriorityType 优先级
deliveryReport number 状态报告
readReport number 阅读报告
retrieveStatus number 检索状态
retrieveText string 检索文本

MmsReadOrigInd8+

彩信读取原始索引。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

名称 类型 必填 说明
version MmsVersionType 版本
messageId string 消息ID
to Array<MmsAddress> 发送至
from MmsAddress 来源
date number 日期
readStatus number 阅读状态

MmsReadRecInd8+

彩信读取记录索引。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

名称 类型 必填 说明
version MmsVersionType 版本
messageId string 消息ID
to Array<MmsAddress> 发送至
from MmsAddress 来源
readStatus number 阅读状态
date number 日期

MmsAttachment8+

彩信附件。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

名称 类型 必填 说明
contentId string 内容ID
contentLocation string 内容位置
contentDisposition DispositionType 内容处理
contentTransferEncoding string 内容传输编码
contentType string 内容类型
isSmil boolean 同步多媒体集成语言
path string 路径
inBuff Array<number> 缓冲区中
fileName string 文件名
charset MmsCharSets 字符集

MmsAddress8+

彩信地址。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

名称 类型 必填 说明
address string 地址
charset MmsCharSets 字符集

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 设备网络制式

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 状态

UpdateSimMessageOptions7+

更新SIM卡消息选项。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

名称 类型 必填 说明
slotId number 卡槽ID
msgIndex number 消息索引
newStatus SimMessageStatus 新状态
pdu string 协议数据单元
smsc string 短消息业务中心

SimShortMessage7+

SIM卡短消息。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

名称 类型 必填 说明
shortMessage ShortMessage 短消息
simMessageStatus SimMessageStatus SIM卡消息状态
indexOnSim number SIM卡索引

MmsDeliveryInd8+

彩信发送标识。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

名称 类型 必填 说明
messageId string 消息ID
date number 日期
to Array<MmsAddress> 发送至
status number 状态
version MmsVersionType 版本

MmsRespInd8+

彩信回复标志。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

名称 类型 必填 说明
transactionId string 事件ID
status number 状态
version MmsVersionType 版本
reportAllowed ReportType 允许报告

SmsSegmentsInfo8+

短信段信息。

系统接口: 此接口为系统接口。

系统能力:SystemCapability.Telephony.SmsMms

名称 类型 必填 说明
splitCount number 拆分计数
encodeCount number 编码计数
encodeCountRemaining number 剩余编码计数
scheme SmsEncodingScheme 短信编码方案