我有点困惑,在文档中找不到答案。我正在为Android开发一个简单的聊天应用程序。我已经创建了一个组(muc),并且一切正常工作,但是每次打开应用程序时,我都必须继续调用join()吗?
我注意到它不起作用了。不明白为什么服务器知道我的jabberID连接到这个muc。
希望我的问题够清楚。谢谢。
发布于 2015-06-10 08:11:16
A(我希望)完整的解释:简短的回答是肯定的。
当在您的服务器上创建了一个持久的房间,并且您注销或退出房间时,您每次都必须重新加入。注销或连接丢失是显而易见的,但是当您退出(离开)房间时,您也不会直接从它接收消息(即使您仍然连接到服务器),服务器知道您的id是与该关联的(例如,作为一个成员),但是您不是内部的,更多的信息请参考关于MUC的XEP,还可以阅读您的特定服务器如何在服务器文档中实现它(可能会将消息保存在一个房间下--离线用户,或者类似的东西)。
这基本上是在WhatsApp中出现的,当你进出组聊天时,他们也有自己的自定义方式(他们构建在基本xmpp服务器之上的层)来让您知道未读消息,其中包括和服务(您可以在您的手机中看到它的一般设置->应用程序)和推送通知。
发布于 2015-06-08 09:08:53
因此,即使你的应用程序关闭服务将保持在后台,你将永远连接到聊天室。
https://stackoverflow.com/questions/30702999
复制相似问题