解决方案 »
- android 2.1 下载稍大点的图片出错 Drawable.createFromStream(inputStream, "src")的问题
- 转一个不错的andriod2.0游戏开发宝典资源,觉得不错!
- Android so库调用
- 征集Android面试题
- 新人学习android,请大家推荐一本好书
- 2013年度【博客之星评选活动】正在进行中,希望大家支持下,十分感谢!
- WIFI扫描获取相关信息,请教大神!!!!!!!!!!!!
- 关于Android 与PC进行USB通信
- Android开发学习provider,报错,关于 content uri的
- 关于fragment传参
- 布局报了很多错但是不知道问题在哪里,谁能指点一下
- 如何真正获取本机号码
// 聊天室服务将会决定要接受的历史记录数量
DiscussionHistory history = new DiscussionHistory();
history.setMaxChars(0);
但是这样一来就无法获得聊天室离线消息,楼主的意思应该不是这样。
DelayInformation inf = (DelayInformation) message.getExtension("x", "jabber:x:delay");
if(if!=null){//旧消息}
但是旧消息又分为已经读取的和未读取的,楼主应该是只希望获取旧消息中未读取的。
我也刚好遇到此问题,可以如下解决
每个消息都有一个消息id(如:<message id="GSpj0-51" to="admin"/>)
读取消息信息后保存至本地,下次拉取到旧消息根据此id,如果本地不存在,进行拉取
// 聊天室服务将会决定要接受的历史记录数量
DiscussionHistory history = new DiscussionHistory();
history.setSince("2014-03-25 12:00:00");
// 创建聊天室,进入房间后的nickname(昵称)
try {
muc.join(Consta.app_xmpp_service_localName, "", history,
SmackConfiguration.getPacketReplyTimeout());
这种方式可以取指定时间之后的历史消息
通过变通一下即可 取未读历史信息