我想在应用程序中出于某种目的使用 GSM 调制解调器。
我想要的是处理已发送短信列表的短信发送报告。
GSM 调制解调器收件箱和发件箱仅限 15 件。每次我阅读收件箱时,GSM 调制解调器都会返回一个列表并清除列表。
如何检查已从 GSM 调制解调器收件箱中删除的短信的发送状态?
我需要一些独特的东西来帮助我识别每条消息。
每次我阅读收件箱时,GSM 调制解调器都会返回一个列表并清除列表。
存储在调制解调器内存中的消息在您阅读后不会被删除。您刚刚阅读了消息at+cmgl={message id in storage}
命令,然后使用删除它at+cmgd={message id in storage}
命令(或不执行,如您所愿。您可以使用以下命令清除所有调制解调器的存储at+cmgd=1,4
命令)。
回到问题:发送短信后,您将收到调制解调器的响应,如下所示:+cmgs: {sms id, 0 to 255} OK
。如果服务中心已成功发送短信,调制解调器将返回以下响应:+cds: {some id which does not matter} {PDU status report}
。你只需要decode该 PDU 用于获取状态报告、原始 SMS 的 ID 和其他有用数据。如果发送短信的 ID 和状态报告中的 ID 相同,则您将获得与您的消息完全相同的状态报告。请注意,如果您在收到发送报告之前从调制解调器的存储中删除消息,您将获得包含所有常用信息的报告,但是交货状态很可能是 71 而不是 0。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)