我不知道如何在smslib中实现队列消息传递,我收到一个新的短信并且我存储在数据库表中,我制作了一些逻辑然后我生成了一个新的短信,我已经知道这个了 - 同步方式,但我不知道如何以异步方式做到这一点?有人可以指导我或者提示,我看到文档,但我不知道如何排队,因为我收到并发送短信???,我需要运行这个应用程序,我希望每个用户得到一个答案,因为例 我使用方法Service.getInstance()。queueMessage(msg);但它与Service.getInstance.sendMessage()的作用相同,所以我的问题是如何在smslib中使用队列?
有人可以指导我吗?
答案 0 :(得分:3)
sendMessage()
和queueMessage()
方法都通过您的调制解调器发送消息,但存在根本区别; sendMessage()
同步,queueMessage()
异步(就像你自己说的那样)。
这意味着sendMessage()
基本上会将消息转发给调制解调器,阻止它直到消息发送,然后返回。
但是,如果您使用的是queueMessage()
方法,它会将消息存储在队列中并“在可能的情况下”发送,而不会阻塞调制解调器。
要从此消息中获取发送状态(如果已发送或未发送,任何错误等),您需要创建一个实现IOutboundMessageNotification
接口的类。在那里,在process
方法中,您将获得状态消息,您可以根据自己的实现来处理它。
您可以使用Service.getInstance().setOutboundMessageNotification(outboundMessageNotification);
将服务设置为“收听”这些通知。
如果您想使用IInboundMessageNotification
收听传入消息,则同样适用。
希望有所帮助
-Rob