smslib 通过短信猫读取短信相关问题。请高手请教。。。。

wangxiangbo127 2011-01-10 11:58:38
我用的是smslib-3.3.0b2 版本 和 commons-net-1.4.1 版本。正常的短信 收/发 是没问题的。
但我想实现几个功能,不知道代码怎么实现。。。。
我读取短信的方法是:
List<InboundMessage> msgList;
msgList = new ArrayList<InboundMessage>();
this.srv.readMessages(msgList, MessageClasses.ALL);
for (InboundMessage msg : msgList) {
Log.info(msg);
}
这样好像是读取SIM卡中未读信息(不怎么确定,我一张卡没有未读信息,显示是0条。换另一张卡,也没有未读信息,但能读出SIM卡中所有信息来)。
问题:1、我想实现只读取未读信息,然后成功读取后就把短信状态设置为已读信息。下次就不要再读取信息了。
2、我不知道要怎么实现监听器(设定多长时间去读取一次短信)。
3、这个平台还要不要用其它框架。
我这个短信平台,主要是用来保存员工每天工作日志的。员工日志发送过来,然后读取信息,保存到数据库中。
请高手帮忙了。。。。。
...全文
611 8 打赏 收藏 转发到动态 举报
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
allIdover 2012-07-18
  • 打赏
  • 举报
回复
今天同问这个问题,被我自己解决了,回复在这里希望可以帮到其他人。
其实很简单,只需要通过gateway再读取一次消息就可以了。
假如 未读消息有 InboundMessage img,网关gateway
那么只需:
gateway.readMessage(img.getMemLocation(), img.getMemIndex());
就可以了。
wssjsf 2011-02-10
  • 打赏
  • 举报
回复
smslib里面有个smsserver的示例,里面有你想要的,发送可以专门设计一个线程,每隔s读取数据库中的未发送信息,并添加到发送队列,这是异步发送模式,还有同步模式文档上都有。接受有两种方式,一种是通过IInboundMessageNotification,一种是自己写一个线程,前者适用实时接受,后者适用定时接受。
xiaoyang_job 2011-01-11
  • 打赏
  • 举报
回复
(那有没有方法是 把读取出来的信息设置成已读信息了.)

关于这点我也不知道。

(我想做一个短信平台,就隔一段时间读取一次短信,隔一段时间发送短信。还要不要用到其它框架。)

之前我也发帖问过类似的问题,你可以用timer或者quartz实现定时发送,具体情况你上网查一下。
但是,如果说隔一段时间读取一次短信的话,smslib本身带有监听器,收到短信自然会读取,就是我上面说的监听器。
wangxiangbo127 2011-01-10
  • 打赏
  • 举报
回复
谢谢楼上的兄弟。。
MessageClasses.READ 已读短信, MessageClasses.UNREAD 未读短信。
我试了下,确实是这样的。读取相应的短信。
那有没有方法是 把读取出来的信息设置成已读信息了(我下次读取未读短信的时候就不会再读取出来了)。
我问的不是smslib依不依赖其他框架。我是问,我想做一个短信平台,就隔一段时间读取一次短信,隔一段时间发送短信。还要不要用到其它框架。
xiaoyang_job 2011-01-10
  • 打赏
  • 举报
回复
兄弟,我也是在做这个。我用的是3.5.0版本的。
this.srv.readMessages(msgList, MessageClasses.ALL);
你这句代码读的是全部的短信,MessageClasses.READ 已读短信, MessageClasses.UNREAD 未读短信。

问题1:我也发了帖子问了这个,没人回答。
问题2: 我用3.5.0版本的自带有监听器,应该是实时监听的。
我们需要实现一个接口来实现回调方法:
先实现接口:IInboundMessageNotification,
然后实现方法:void process(AGateway gateway, MessageTypes msgType, InboundMessage msg)。
从方法可以看出,传入的参数为:网关,短信类型,进站短信。
这样子,当收到短信的时候这个方法会被自动调用,你就得到短信,就可以做后续处理了,
不过郁闷的是,我的程序每次都把所有的短信读取出来,在这里求高人解答.....
如何在回调方法里读取未读短信。。。
问题3: smslib不依赖其他框架。
wangxiangbo127 2011-01-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 youlovexia 的回复:]
帮不上忙.建议你查百度
[/Quote]
就是百度查不到。。我才这里请教高手呀。。。。
YOULOVEXIA 2011-01-10
  • 打赏
  • 举报
回复
帮不上忙.建议你查百度
wangxiangbo127 2011-01-10
  • 打赏
  • 举报
回复
等待高手解决。。自顶下。。。。

62,567

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告