SMSLIB收发短信的问题

分享
目前由于项目需要,需要通过SMSLIB来收发短信,但是在调试过程中发现有2个问题
1:会经常接收重复的短信,当我连续发短信给短信设备时,SMSLIB会经常收到重复的短信。
2:有些超长的短信,但是SMSLIB无法自动拼装成完整的一条短信,将拆分的短信单独显示出来。
短信设备二次开发 2022-04-09 1 0

admin

  • 注册时间 : 2022-03-30 04:08:47
  • 邮箱地址 : admin@tenghengkeji.com
  • 此页面用于展示用户的基本上资料信息

回帖 ( 1 )

  1. #1楼 admin
    2022-04-09 19:55:44
    0 0
    回复

    接收到短信后没顺手删除deletemessage(),默认是接收短信后存在SM(卡)里面的,主动readmessage()方法读取短信默认值是ALL读取所有(包含已读)所以又重复读取已读短信,改UNREAD;另外开启了InboundNotification监听回调,自动检测到了串口有CTMI:SM(记得不是很清楚好像是这个自己查)就触发读取所有短信顺序读取来自SM,ME,MT,SR的短信使用读取所有指令所以你又能看到没删除的短信,所以回调里面你需要带上删除短信,注意事项:触发回调读取和频繁主动读取短信并带有删除功能的时候会碰巧同时进行,其中一个读取不到短信抛出序号不存在异常。

    这个应该就是开发包自身bug了,超长短信原理超过140字节短信拆分多条每条134字节,如果这条拆分的短信其中一条没接收到,市面大多数软件都吧这条长短信抛弃不保留,据我所知smslib也是抛弃的,你说的单独显示出来,那么就是内部bug不能识别这几条短信是同一条短信的所以单独显示了