openharmony 鸿蒙 js-apis-sms-sys

2025-06-16 浏览 (1)

@ohos.telephony.sms (短信服务)(系统接口)

短信服务提供了管理短信的一些基础能力,包括发送、下载彩信,设置发送短信的默认SIM卡槽ID,获取、设置短信服务中心(SMSC)地址等。

说明:

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

当前页面仅包含本模块的系统接口,其他公开接口参见@ohos.telephony.sms (短信服务)

导入模块

import { sms } from '@kit.TelephonyKit';

sms.sendMms11+

sendMms(context: Context, mmsParams: MmsParams, callback: AsyncCallback<void>): void

发送彩信。使用callback异步回调。

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

需要权限:ohos.permission.SEND_MESSAGES

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名类型必填说明
contextContext应用上下文。
FA模型的应用Context定义见Context
Stage模型的应用Context定义见Context
mmsParamsMmsParams发送彩信的参数和回调,参考MmsParams
callbackAsyncCallback<void>发送彩信的回调函数。

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

FA模型示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { common, featureAbility } from '@kit.AbilityKit';

// 获取context
let context: common.BaseContext = featureAbility.getContext();

// 彩信pdu存储路径,pdu来源于编码接口
const sandBoxPath: string = '/data/storage/el2/base/files/';
let filePath: string  = sandBoxPath + 'SendReq.mms';

// 发送彩信参数(mmsc以联通卡为例)
let mmsPars: sms.MmsParams = {
  slotId : 0,
  mmsc: 'http://mmsc.myuni.com.cn',
  data: filePath,
  mmsConfig: {
   userAgent:'ua',
   userAgentProfile: 'uaprof'
  }
};

// 调用发送接口
sms.sendMms(context, mmsPars, async(err: BusinessError) =>{
  if (err) {
      console.error(`sendMms fail, err : ${JSON.stringify(err)}`);
      return;
  }
  console.log(`sendMms Success`);
})

Stage模型示例:

import { UIAbility } from '@kit.AbilityKit';
import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { window } from '@kit.ArkUI';

// 彩信pdu存储路径,pdu来源于编码接口
const sandBoxPath = '/data/storage/el2/base/files/';
let filePath  = sandBoxPath + 'SendReq.mms';

// 彩信用户代理、用户代理描述配置。根据运营商要求配置,默认ua,uaprof
let mmsConf: sms.MmsConfig = {
  userAgent:'ua',
  userAgentProfile: 'uaprof'
};

// 发送彩信参数(mmsc以联通卡为例)
let mmsPars: sms.MmsParams = {
  slotId : 0,
  mmsc: 'http://mmsc.myuni.com.cn',
  data: filePath,
  mmsConfig: mmsConf
};

class EntryAbility extends UIAbility {
    onWindowStageCreate(windowStage: window.WindowStage) {
    sms.sendMms(this.context, mmsPars, async(err: BusinessError) =>{
        if (err) {
            console.error(`sendMms fail, err : ${JSON.stringify(err)}`);
            return;
        }
        console.log(`sendMms Success`);
        })
    }
}

sms.sendMms11+

sendMms(context: Context, mmsParams: MmsParams): Promise<void>

发送彩信。使用Promise异步回调。

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

需要权限:ohos.permission.SEND_MESSAGES

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名类型必填说明
contextContext应用上下文。
FA模型的应用Context定义见Context
Stage模型的应用Context定义见Context
mmsParamsMmsParams发送彩信的参数和回调,参考MmsParams

返回值:

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

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

FA模型示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { common, featureAbility } from '@kit.AbilityKit';

// 获取context
let context: common.BaseContext = featureAbility.getContext();

// 彩信pdu存储路径,pdu来源于编码接口
const sandBoxPath: string = '/data/storage/el2/base/files/';
let filePath: string = sandBoxPath + 'SendReq.mms';

// 发送彩信参数(mmsc以联通卡为例)
let mmsPars: sms.MmsParams = {
  slotId: 0,
  mmsc: 'http://mmsc.myuni.com.cn',
  data: filePath,
  mmsConfig: {
   userAgent:'ua',
   userAgentProfile: 'uaprof'
  }
};

// 调用发送接口
let promise = sms.sendMms(context, mmsPars);
promise.then(() => {
    console.log(`sendMms success`);
}).catch((err: BusinessError) => {
    console.error(`sendMms failed, promise: err->${JSON.stringify(err)}`);
});

Stage模型示例:

import { UIAbility } from '@kit.AbilityKit';
import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { window } from '@kit.ArkUI';

// 彩信pdu存储路径,pdu来源于编码接口
const sandBoxPath = '/data/storage/el2/base/files/';
let filePath  = sandBoxPath + 'SendReq.mms';

// 彩信用户代理、用户代理描述配置。根据运营商要求配置,默认ua,uaprof
let mmsConf: sms.MmsConfig = {
  userAgent:'ua',
  userAgentProfile: 'uaprof'
};

// 发送彩信参数(mmsc以联通卡为例)
let mmsPars: sms.MmsParams = {
  slotId : 0,
  mmsc: 'http://mmsc.myuni.com.cn',
  data: filePath,
  mmsConfig: mmsConf
};

class EntryAbility extends UIAbility {
    onWindowStageCreate(windowStage: window.WindowStage) {
    let promise = sms.sendMms(this.context, mmsPars);
    promise.then(() => {
        console.log(`sendMms success`);
    }).catch((err: BusinessError) => {
        console.error(`sendMms failed, promise: err->${JSON.stringify(err)}`);
    });
    }
}

sms.downloadMms11+

downloadMms(context: Context, mmsParams: MmsParams, callback: AsyncCallback<void>): void

下载彩信。使用callback异步回调。

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

需要权限:ohos.permission.RECEIVE_MMS

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名类型必填说明
contextContext应用上下文。
FA模型的应用Context定义见Context
Stage模型的应用Context定义见Context
mmsParamsMmsParams下载彩信的参数和回调,参考MmsParams
callbackAsyncCallback<void>下载彩信的回调函数。

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

FA模型示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { common, featureAbility } from '@kit.AbilityKit';

// 获取context
let context: common.BaseContext = featureAbility.getContext();

// 彩信pdu存储路径
const sandBoxPath: string = '/data/storage/el2/base/files/';
let filePath: string = sandBoxPath + 'RetrieveConf.mms';

// 从WapPush中解析出彩信URL
let wapPushUrl: string = 'URL';

// 下载彩信参数
let mmsPars: sms.MmsParams = {
  slotId: 0,
  mmsc: wapPushUrl,
  data: filePath,
  mmsConfig: {
   userAgent:'ua',
   userAgentProfile: 'uaprof'
  }
};

// 调用下载接口
sms.downloadMms(context, mmsPars, async(err: BusinessError) =>{
  if (err) {
      console.error(`downloadMms fail, err : ${JSON.stringify(err)}`);
      return;
  }
  console.log(`downloadMms Success`);
})

Stage模型示例:

import { UIAbility } from '@kit.AbilityKit';
import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { window } from '@kit.ArkUI';

// 彩信pdu存储路径
const sandBoxPath = '/data/storage/el2/base/files/';
let filePath  = sandBoxPath + 'RetrieveConf.mms';

// 从WapPush中解析出彩信URL
let wapPushUrl  = 'URL';

// 彩信用户代理、用户代理描述配置。根据运营商要求配置,默认ua,uaprof
let mmsConf: sms.MmsConfig = {
  userAgent:'ua',
  userAgentProfile: 'uaprof'
};

// 下载彩信参数
let mmsPars: sms.MmsParams = {
  slotId : 0,
  mmsc: wapPushUrl,
  data: filePath,
  mmsConfig: mmsConf
};

class EntryAbility extends UIAbility {
    onWindowStageCreate(windowStage: window.WindowStage) {
    sms.downloadMms(this.context, mmsPars, async(err: BusinessError) =>{
        if (err) {
            console.error(`downloadMms fail, err : ${JSON.stringify(err)}`);
            return;
        }
        console.log(`downloadMms Success`);
        });
    }
}

sms.downloadMms11+

downloadMms(context: Context, mmsParams: MmsParams): Promise<void>

发送彩信。使用Promise异步回调。

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

需要权限:ohos.permission.RECEIVE_MMS

系统能力:SystemCapability.Telephony.SmsMms

参数:

参数名类型必填说明
contextContext应用上下文。
FA模型的应用Context定义见Context
Stage模型的应用Context定义见Context
mmsParamsMmsParams发送彩信的参数和回调,参考MmsParams

返回值:

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

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

FA模型示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { common, featureAbility } from '@kit.AbilityKit';

// 获取context
let context: common.BaseContext = featureAbility.getContext();

// 彩信pdu存储路径
const sandBoxPath: string = '/data/storage/el2/base/files/';
let filePath: string = sandBoxPath + 'RetrieveConf.mms';

// 从WapPush中解析出彩信URL
let wapPushUrl: string = 'URL';

// 下载彩信参数
let mmsPars: sms.MmsParams = {
  slotId: 0,
  mmsc: wapPushUrl,
  data: filePath,
  mmsConfig: {
   userAgent:'ua',
   userAgentProfile: 'uaprof'
  }
};

// 调用发送接口
let promise = sms.downloadMms(context, mmsPars);
promise.then(() => {
    console.log(`downloadMms success`);
}).catch((err: BusinessError) => {
    console.error(`downloadMms failed, promise: err->${JSON.stringify(err)}`);
});

Stage模型示例:

import { UIAbility } from '@kit.AbilityKit';
import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { window } from '@kit.ArkUI';

// 彩信pdu存储路径
const sandBoxPath = '/data/storage/el2/base/files/';
let filePath  = sandBoxPath + 'RetrieveConf.mms';

// 从WapPush中解析出彩信URL
let wapPushUrl  = 'URL';

// 彩信用户代理、用户代理描述配置。根据运营商要求配置,默认ua,uaprof
let mmsConf: sms.MmsConfig = {
  userAgent:'ua',
  userAgentProfile: 'uaprof'
};

// 下载彩信参数
let mmsPars: sms.MmsParams = {
  slotId : 0,
  mmsc: wapPushUrl,
  data: filePath,
  mmsConfig: mmsConf
};

class EntryAbility extends UIAbility {
    onWindowStageCreate(windowStage: window.WindowStage) {
    let promise = sms.downloadMms(this.context, mmsPars);
    promise.then(() => {
        console.log(`downloadMms success`);
    }).catch((err: BusinessError) => {
        console.error(`downloadMms 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

参数:

参数名类型必填说明
slotIdnumberSIM卡槽ID。
- 0:卡槽1
- 1:卡槽2
- -1:清除默认配置
callbackAsyncCallback<void>设置发送短信的默认SIM卡槽ID的回调函数。

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300004Do not have sim card.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

参数名类型必填说明
slotIdnumberSIM卡槽ID。
- 0:卡槽1
- 1:卡槽2
- -1:清除默认配置

返回值:

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

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300004Do not have sim card.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

参数名类型必填说明
slotIdnumberSIM卡槽ID:
- 0:卡槽1
- 1:卡槽2
smscAddrstring短信服务中心地址。
callbackAsyncCallback<void>设置短信服务中心(SMSC)地址的回调函数。

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

参数名类型必填说明
slotIdnumberSIM卡槽ID:
- 0:卡槽1
- 1:卡槽2
smscAddrstring短信服务中心地址。

返回值:

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

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

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

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

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

返回值:

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

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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.splitMessage8+

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

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

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

需要权限:ohos.permission.SEND_MESSAGES

系统能力:SystemCapability.Telephony.SmsMms

参数:

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

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

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

返回值:

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

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

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

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

参数名类型必填说明
optionsSimMessageOptionsSIM卡消息选项。

返回值:

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

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

参数名类型必填说明
slotIdnumberSIM卡槽ID:
- 0:卡槽1
- 1:卡槽2
msgIndexnumber消息索引。
callbackAsyncCallback<void>删除SIM卡消息的回调函数。

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

参数名类型必填说明
slotIdnumberSIM卡槽ID:
- 0:卡槽1
- 1:卡槽2
msgIndexnumber消息索引。

返回值:

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

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

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

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

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

返回值:

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

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

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

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

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

返回值:

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

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

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

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

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

返回值:

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

错误码:

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

错误码ID错误信息
201Permission denied.
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

参数名类型必填说明
slotIdnumberSIM卡槽ID:
- 0:卡槽1
- 1:卡槽2
messagestring消息。
force7bitboolean是否使用7 bit编码。
callbackAsyncCallback<SmsSegmentsInfo>指示用于获取短信短信息的回调函数。

错误码:

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

错误码ID错误信息
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

参数名类型必填说明
slotIdnumberSIM卡槽ID:
- 0:卡槽1
- 1:卡槽2
messagestring消息。
force7bitboolean是否使用7 bit编码。

返回值:

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

错误码:

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

错误码ID错误信息
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

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

错误码:

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

错误码ID错误信息
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

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

返回值:

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

错误码:

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

错误码ID错误信息
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

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

错误码:

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

错误码ID错误信息
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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错误信息
202Non-system applications use system APIs.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

参数名类型必填说明
mmsFilePathNamestring |Array<number>彩信文件路径。
callbackAsyncCallback<MmsInformation>获取{@code MmsInformation}的回调函数。

错误码:

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

错误码ID错误信息
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

let mmsFilePathName: string = "filename";
sms.decodeMms(mmsFilePathName, (err: BusinessError, data: sms.MmsInformation) => {
      console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

const mmsPdu: Array<number> = [0x8c, 0x80, 0x98, 0x31, 0x00, 0x8d, 0x92, 0x89, 0x09, 0x80, 0x07, 0xea, 0x31, 0x30, 0x30, 0x38, 0x36, 0x00, 0x97, 0x07, 0xea, 0x31, 0x30, 0x30,0x31, 0x30, 0x00, 0x84, 0x74, 0x79, 0x70, 0x65, 0x00, 0x00];
sms.decodeMms(mmsPdu, (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

参数:

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

返回值:

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

错误码:

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

错误码ID错误信息
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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)}`);
});

const mmsPdu: Array<number> = [0x8c, 0x80, 0x98, 0x31, 0x00, 0x8d, 0x92, 0x89, 0x09, 0x80, 0x07, 0xea, 0x31, 0x30, 0x30, 0x38, 0x36, 0x00, 0x97, 0x07, 0xea, 0x31, 0x30, 0x30,0x31, 0x30, 0x00, 0x84, 0x74, 0x79, 0x70, 0x65, 0x00, 0x00];
let promiseArr = sms.decodeMms(mmsPdu);
promiseArr.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

参数:

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

错误码:

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

错误码ID错误信息
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

参数:

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

返回值:

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

错误码:

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

错误码ID错误信息
202Non-system applications use system APIs.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

示例:

import { sms } from '@kit.TelephonyKit';
import { BusinessError } from '@kit.BasicServicesKit';

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)}`);
});

MmsParams11+

发送彩信的参数。

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

系统能力:SystemCapability.Telephony.SmsMms

名称类型必填说明
slotId11+number用于发送短信的SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2
mmsc11+string彩信中心地址。
data11+string彩信PDU地址。
mmsConfig11+MmsConfig彩信配置文件,参考MmsConfig

MmsConfig11+

彩信配置文件。

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

系统能力:SystemCapability.Telephony.SmsMms

名称类型必填说明
userAgent11+string用户代理。
userAgentProfile11+string用户代理配置。

MmsInformation8+

彩信信息。

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

系统能力:SystemCapability.Telephony.SmsMms

名称类型必填说明
messageTypeMessageType消息类型。
mmsTypeMmsSendReq |MmsSendConf |MmsNotificationInd |MmsRespInd |MmsRetrieveConf|MmsAcknowledgeInd|MmsDeliveryInd|MmsReadOrigInd|MmsReadRecIndPDU头类型
attachmentArray<MmsAttachment>附件

MmsSendReq8+

彩信发送请求。

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

系统能力:SystemCapability.Telephony.SmsMms

名称类型必填说明
fromMmsAddress彩信来源
transactionIdstring事务ID
contentTypestring内容类型
versionMmsVersionType版本
toArray<MmsAddress>发送至
datenumber日期
ccArray<MmsAddress>抄送
bccArray<MmsAddress>暗抄送
subjectstring主题
messageClassnumber消息类
expirynumber到期
priorityMmsPriorityType优先
senderVisibilitynumber发件人可见性
deliveryReportnumber交付报告
readReportnumber阅读报告

MmsSendConf8+

彩信发送配置。

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

系统能力:SystemCapability.Telephony.SmsMms

名称类型必填说明
responseStatenumber响应状态
transactionIdstring事务ID
versionMmsVersionType版本
messageIdstring消息ID

MmsNotificationInd8+

彩信通知索引。

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

系统能力:SystemCapability.Telephony.SmsMms

名称类型必填说明
transactionIdstring事务ID
messageClassnumber消息类
messageSizenumber消息大小
expirynumber到期
contentLocationstring内容位置
versionMmsVersionType版本
fromMmsAddress来源
subjectstring主题
deliveryReportnumber状态报告
contentClassnumber内容类

MmsAcknowledgeInd8+

彩信确认索引。

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

系统能力:SystemCapability.Telephony.SmsMms

名称类型必填说明
transactionIdstring事务ID
versionMmsVersionType版本
reportAllowedReportType允许报告

MmsRetrieveConf8+

彩信检索配置。

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

系统能力:SystemCapability.Telephony.SmsMms

名称类型必填说明
transactionIdstring事务ID
messageIdstring消息ID
datenumber日期
contentTypestring内容类型
toArray<MmsAddress>发送至
versionMmsVersionType版本
fromMmsAddress来源
ccArray<MmsAddress>抄送
subjectstring主题
priorityMmsPriorityType优先级
deliveryReportnumber状态报告
readReportnumber阅读报告
retrieveStatusnumber检索状态
retrieveTextstring检索文本

MmsReadOrigInd8+

彩信读取原始索引。

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

系统能力:SystemCapability.Telephony.SmsMms

名称类型必填说明
versionMmsVersionType版本
messageIdstring消息ID
toArray<MmsAddress>发送至
fromMmsAddress来源
datenumber日期
readStatusnumber阅读状态

MmsReadRecInd8+

彩信读取记录索引。

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

系统能力:SystemCapability.Telephony.SmsMms

名称类型必填说明
versionMmsVersionType版本
messageIdstring消息ID
toArray<MmsAddress>发送至
fromMmsAddress来源
readStatusnumber阅读状态
datenumber日期

MmsAttachment8+

彩信附件。

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

系统能力:SystemCapability.Telephony.SmsMms

名称类型必填说明
contentIdstring内容ID
contentLocationstring内容位置
contentDispositionDispositionType内容处理
contentTransferEncodingstring内容传输编码
contentTypestring内容类型
isSmilboolean同步多媒体集成语言
pathstring路径
inBuffArray<number>缓冲区中
fileNamestring文件名
charsetMmsCharSets字符集

MmsAddress8+

彩信地址。

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

系统能力:SystemCapability.Telephony.SmsMms

名称类型必填说明
addressstring地址
charsetMmsCharSets字符集

MessageType8+

消息类型。

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

系统能力:SystemCapability.Telephony.SmsMms

名称说明
TYPE_MMS_SEND_REQ128彩信发送请求类型
TYPE_MMS_SEND_CONF129彩信发送配置类型
TYPE_MMS_NOTIFICATION_IND130彩信通知索引类型
TYPE_MMS_RESP_IND131彩信回复索引类型
TYPE_MMS_RETRIEVE_CONF132彩信检索配置类型
TYPE_MMS_ACKNOWLEDGE_IND133彩信确认索引类型
TYPE_MMS_DELIVERY_IND134彩信传送索引类型
TYPE_MMS_READ_REC_IND135彩信读取接收索引类型
TYPE_MMS_READ_ORIG_IND136彩信读取原始索引类型

MmsPriorityType8+

彩信优先级类型。

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

系统能力:SystemCapability.Telephony.SmsMms

名称说明
MMS_LOW128彩信优先级低
MMS_NORMAL129彩信优先级正常
MMS_HIGH130彩信优先级高

MmsVersionType8+

彩信版本类型。

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

系统能力:SystemCapability.Telephony.SmsMms

名称说明
MMS_VERSION_1_00x10彩信版本1_0
MMS_VERSION_1_10x11彩信版本1_1
MMS_VERSION_1_20x12彩信版本1_2
MMS_VERSION_1_30x13彩信版本1_3

MmsCharSets8+

彩信字符集。

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

系统能力:SystemCapability.Telephony.SmsMms

名称说明
BIG50X07EABIG5格式
ISO_10646_UCS_20X03E8ISO_10646_UCS_2格式
ISO_8859_10X04ISO_8859_1格式
ISO_8859_20X05ISO_8859_2格式
ISO_8859_30X06ISO_8859_3格式
ISO_8859_40X07ISO_8859_4格式
ISO_8859_50X08ISO_8859_5格式
ISO_8859_60X09ISO_8859_6格式
ISO_8859_70X0AISO_8859_7格式
ISO_8859_80X0BISO_8859_8格式
ISO_8859_90X0CISO_8859_9格式
SHIFT_JIS0X11SHIFT_JIS格式
US_ASCII0X03US_ASCII格式
UTF_80X6AUTF_8格式

DispositionType8+

处理类型。

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

系统能力:SystemCapability.Telephony.SmsMms

名称说明
FROM_DATA0数据来源
ATTACHMENT1附件
INLINE2内联

ReportType8+

报告类型。

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

系统能力:SystemCapability.Telephony.SmsMms

名称说明
MMS_YES128YES
MMS_NO129NO

CBConfigOptions7+

小区广播配置选项。

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

系统能力:SystemCapability.Telephony.SmsMms

名称类型必填说明
slotIdnumber卡槽ID
enableboolean可行
startMessageIdnumber消息起始ID
endMessageIdnumber消息结束ID
ranTypeRanType设备网络制式

SimMessageStatus7+

SIM卡消息状态。

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

系统能力:SystemCapability.Telephony.SmsMms

名称说明
SIM_MESSAGE_STATUS_FREE0SIM卡上的可用空间状态
SIM_MESSAGE_STATUS_READ1消息已读状态
SIM_MESSAGE_STATUS_UNREAD3消息未读状态
SIM_MESSAGE_STATUS_SENT5存储发送消息(仅适用于SMS)
SIM_MESSAGE_STATUS_UNSENT7存储未发送消息(仅适用于SMS)

RanType7+

设备网络制式。

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

系统能力:SystemCapability.Telephony.SmsMms

名称说明
TYPE_GSM1GSM
TYPE_CDMA2CMDA

SmsEncodingScheme8+

短信编码方案。

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

系统能力:SystemCapability.Telephony.SmsMms

名称说明
SMS_ENCODING_UNKNOWN0未知短信编码
SMS_ENCODING_7BIT17位短信编码
SMS_ENCODING_8BIT28位短信编码
SMS_ENCODING_16BIT316位短信编码

SimMessageOptions7+

SIM卡消息选项。

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

系统能力:SystemCapability.Telephony.SmsMms

名称类型必填说明
slotIdnumber卡槽ID
smscstring短消息业务中心
pdustring协议数据单元
statusSimMessageStatus状态

UpdateSimMessageOptions7+

更新SIM卡消息选项。

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

系统能力:SystemCapability.Telephony.SmsMms

名称类型必填说明
slotIdnumber卡槽ID
msgIndexnumber消息索引
newStatusSimMessageStatus新状态
pdustring协议数据单元
smscstring短消息业务中心

SimShortMessage7+

SIM卡短消息。

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

系统能力:SystemCapability.Telephony.SmsMms

名称类型必填说明
shortMessageShortMessage短消息
simMessageStatusSimMessageStatusSIM卡消息状态
indexOnSimnumberSIM卡索引

MmsDeliveryInd8+

彩信发送标识。

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

系统能力:SystemCapability.Telephony.SmsMms

名称类型必填说明
messageIdstring消息ID
datenumber日期
toArray<MmsAddress>发送至
statusnumber状态
versionMmsVersionType版本

MmsRespInd8+

彩信回复标志。

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

系统能力:SystemCapability.Telephony.SmsMms

名称类型必填说明
transactionIdstring事件ID
statusnumber状态
versionMmsVersionType版本
reportAllowedReportType允许报告

SmsSegmentsInfo8+

短信段信息。

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

系统能力:SystemCapability.Telephony.SmsMms

名称类型必填说明
splitCountnumber拆分计数
encodeCountnumber编码计数
encodeCountRemainingnumber剩余编码计数
schemeSmsEncodingScheme短信编码方案

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Telephony Kit(蜂窝通信服务)

harmony 鸿蒙Telephony_NetworkState

harmony 鸿蒙电话子系统错误码

harmony 鸿蒙js-apis-call-sys

harmony 鸿蒙@ohos.telephony.call (拨打电话)

harmony 鸿蒙@ohos.telephony.esim (eSIM卡管理) (系统接口)

harmony 鸿蒙@ohos.telephony.esim (eSIM卡管理)

harmony 鸿蒙@ohos.telephony.observer (observer)(系统接口)

harmony 鸿蒙@ohos.telephony.observer (observer)

harmony 鸿蒙@ohos.telephony.radio (网络搜索)(系统接口)

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/Pm56VC