短消息

一. 概述

对于仅支持 4G网络 的 CAT1模块(Air720UG、Air724UG)而言,只有sim卡开通VOLTE 功能才能使用短信功能。

而 Air720UH 模块同时支持 4G 和 2G网络,2G 网络本身支持短信功能,所以不需要打开 VOLTE 就可以使用短信功能。

可以通过登录运营商APP、登录运营商网站、或者拨打运营商客服电话,确认开通VOLTE功能

二. API说明

2.1 发送短信

sms.send(num, data, [cbFnc], [idx])

发送短信;将短信插入到发送缓冲区队列中,按顺序发送

注意:此接口仅仅是插入发送缓冲区,等网络OK后,才会自动发送;所以可以在任时间点调用此接口,不用等网络OK之后再调用

支持长短信

发送的短信不会存储到本地

  • 参数

类型

释义

s tring

num,短信接收方号码;例如“18612345678”

s tring

data,短信内容,GB2312编码格式;例如“短信测试”

fun ction

**可选参数,默认为``nil``* *,cbFnc,短信发送结果的回调函数;此回调函数的调用形式为: cbFnc(result, num, data) result表示发送结果,true为发送成功,false或者nil为发送失败; num表示短信接收方号码; data表示短信内容,GB2312编码格式

n umber

可选参数,默认 为``nil``

,idx,此短信要插入的发送缓冲区队列中的位置,默认是插入队尾

  • 返回值

    nil

  • 示例

local function sendCb(result, num, data)
    log.info("发送结果", result and "成功" or "失败")
end

--发送短信内容10086到号码10086,返回发送结果后,执行sendCb回调函数
sms.send("10086","10086",sendCb)

2.2 注册短信接收的回调函数

sms.setNewSmsCb(cbFnc)

注册短信接收回调函数;开机时注册一次即可,中途可以重复注册,新回调函数覆盖旧回调函数

支持长短信,长短信接收完整后,才会执行回调函数

短信不会存储到本地,执行回调函数前已经自动被删除

  • 参数

类型

释义

fun ction

cbFnc,短信接收处理的回调函数;此回调函数的调用形式为: cbFnc(num, data,dateTime) num表示短信发送方号码,string类型,例如“18612345678”; d ata表示短信内容,string类型,GB2312编码格式,例如“短信测试”; dateTime表示短信 发送时的时间,string类型,格式为yy/mm/dd,hh:mm:ss,例如20/0 8/15,10:31:08+32表示2020年8月15日10时31分08秒,+32表示东八区

  • 返回值

    nil

  • 示例

local function rcvCb(num, data, dateTime)
    log.info("短信发送方号码", num)
    log.info("短信内容", data)
    log.info("短信发送时间", dateTime)
end

--注册短信接收的回调函数,当接收到新短信时,会执行rcvCb回调函数
sms.setNewSmsCb(rcvCb)

三. 常见问题

3.1 如何开通VOLTE功能?

对于仅支持 4G网络 的 CAT1模块(Air720UG、Air724UG)而言,只有sim卡开通VOLTE 功能才能使用短信功能。如何开通VOLTE功能,有如下几种方式:

  • 登录运营商手机端app开通

  • 登录运营商官网开通

  • 拨打运营商客服电话开通

3.2 物联网卡支持短信功能吗?

一般来说,物联网卡是不支持短信功能的,具体需要咨询物联网卡供应商

3.3 支持移动、电信,联通卡的短信功能吗?

支持,sim卡必须开通VOLTE功能