短消息¶
一. 概述¶
对于仅支持 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``
|
返回值
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)