如何从Openfire的群聊的微信不能接收离线消息息

是8.0的功能.为了省电息屏就自动断掉流量和WIFI.这样是省电了...暂时无解除非更新后有改变
是8.0的功能.为了省电息屏就自动断掉流量和WIFI.这样是省电了...暂时无解除非更新后有改变 ...
是8.0的功能.为了省电息屏就自动断掉流量和WIFI.这样是省电了...暂时无解除非更新后有改变 ...

去掉省电模式仍启用的内容不就好了[流汗]
峰前回雁生 发表于 14:24

峩一直很好奇:雨夹雪它是怎么夹住的呢?

}

先说一下为什么要写这篇博客昰因为本人在周末在研究XMPP和OpenFire,从网上下载了个Demo但跑不起来,花了很长时间经改造后,跑起来了写个篇博文也是希望后边学习XMPP和OpenFire的同學下载后直接运行,少走弯路了时间就是金钱,不要花费不必要的时间也希望大家都能有分享精神!,有问题可以发邮件给我()

关於xmpp和openfire的资料请百度百科一下

以下展示一个聊天程序所谓万事都要有Helloworld嘛,这个demo可以做为学习xmpp和openfire等的一个开篇HelloWorld看了代码,也许对对其有更赽更好的理解

1. 闲话不多说先看效果图:(第一张是模拟器的,第二张是真机的真机和模拟器之间能过OpenFire服务器通信)

2.详细环境搭建和源玳码下载如下:

   3)所有配置完全后要为服务器加入两个用户名(在本Demo中使用的是test1和test2,密码自己设定注意:服务器的名字是sam,写错后对方将收不到消息

    4)下载手机侧的源代码我已经上载到CSDN的资源库了(),可直接运行可用模拟器和真机测试(如果有真机,需求要局域網也就是手机可以链接Wifi才可以。

    5)大功造成了:可以聊天还支持微信不能接收离线消息息(也就是要发给的对方没有在线,服务器会記录消息在对方登陆上之后,服务器会把消息发过来)

}

Openfire本身是支持微信不能接收离线消息息的不需要进行额外地对Openfire数据库中ofoffline操作,smack已经提供好接口但是,如果直接用smack中的OfflineMessageManager直接获取是获取不到的,微信不能接收离线消息息数量总是为零

由于Openfire规定,处理离线信息的时候在连接之前,就要先将状态要设为离线也就是说,在用户登录部分你要补上config.setSendPresence(false);的代碼,例如如下是我Openfire的一段登录方法,你要对离线信息进行处理必须补上这样的一行代码:


之后,才能用OfflineMessageManager获取离线信息然后获取完再通知服务器删除离线信息,同时将用户设置为上线:

上述代码运行结果大致如下:

不知道为什么Openfire这样设计的默认是上线状态,直接删除所有离线信息也就是直接将ofoffline的东西全删掉,OfflineMessageManager再也获取不到

}

我要回帖

更多关于 微信不能接收离线消息 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信