sms消息存储在DB中,与数据库比较并使用smslib在java中返回sms,如何实现?

时间:2012-05-01 14:01:57

标签: java sms smslib

我使用smslib用java编写sms桌面应用程序,我的程序需要将sms存储在数据库表中,然后将sms与另一个表进行比较,最后返回一个新的短信,如何用线程实现这个过程? ?计时器?我需要保持应用程序全天运行,程序只需要将数字与另一个表进行比较,然后返回不同的表,我有应用程序但部分内容,我只是想知道你的方法,用户需要收到带有新号码的短信谢谢

p.d我使用smslib和类readmessages和sendmessages。我被困在这一部分,我不希望我的程序崩溃

1 个答案:

答案 0 :(得分:1)

SMSLib有两种接收消息的方式。

  • 使用Service.readMessages()。这需要实现某种调度。例如你自己的线程或计时器任务。
  • 实现回调。这是恕我直言的首选方式。在这种情况下,图书馆关心日程安排和一切。您只需实现SMS消息到达时SMSLib将调用的回调。我只需将其存储在数据库中并实现您描述的逻辑,即比较消息并发送回复。

由于发送消息可能需要一些时间(有时是几秒钟),因此您应该异步执行此操作。此外,发送可能会失败,因此您可能必须实现重试机制。所以,使用排队。最简单的方法是使用java.concurrency包中的Executors框架。