Smack - 何时调用 MultiUserChat.Join(...)
Smack - When to call MultiUserChat.Join(...)
我有点困惑,在docs中找不到答案。
我正在为 Android 开发一个简单的聊天应用程序。
我已经创建了一个组 (muc) 并且一切正常,但是我每次打开应用程序时都必须继续调用 join() 吗?
我注意到它在其他情况下不起作用..
不明白为什么因为服务器知道我的jabberID连接到这个muc。
希望我的问题足够清楚。谢谢
- 创建服务
- 在里面添加你的xmpp代码,比如登录,一对一聊天,MUC聊天。
因此,即使您的应用关闭服务也将保留在后台,您将始终连接到聊天室。
一个(我希望)完整的解释:简短的回答是肯定的。
当在您的服务器上创建了一个固定房间,并且您注销或退出该房间时,您每次都必须重新加入。
注销或连接丢失是显而易见的,但是当您退出(离开)房间时,您也不会直接从它收到消息(即使您仍然连接到服务器),服务器知道您的 ID 是 隶属于 该 MUC(例如,作为成员),但您不在 内部 ,有关详细信息,请参阅 the XEP about MUC,并阅读有关您的特定服务器如何在您的服务器文档上实现它(可能将消息保存在 room-to-offline 用户下,或类似的东西)。
当你进出群聊时,这基本上就是 WhatsApp 中发生的事情,但他们也有自己的自定义方式(他们建立在基本 xmpp 服务器之上的层)让你知道未读消息,其中包括 一项服务(您可以在 phone 的常规设置 -> 应用程序中看到它) 和 推送通知。
我有点困惑,在docs中找不到答案。 我正在为 Android 开发一个简单的聊天应用程序。 我已经创建了一个组 (muc) 并且一切正常,但是我每次打开应用程序时都必须继续调用 join() 吗?
我注意到它在其他情况下不起作用.. 不明白为什么因为服务器知道我的jabberID连接到这个muc。
希望我的问题足够清楚。谢谢
- 创建服务
- 在里面添加你的xmpp代码,比如登录,一对一聊天,MUC聊天。
因此,即使您的应用关闭服务也将保留在后台,您将始终连接到聊天室。
一个(我希望)完整的解释:简短的回答是肯定的。
当在您的服务器上创建了一个固定房间,并且您注销或退出该房间时,您每次都必须重新加入。 注销或连接丢失是显而易见的,但是当您退出(离开)房间时,您也不会直接从它收到消息(即使您仍然连接到服务器),服务器知道您的 ID 是 隶属于 该 MUC(例如,作为成员),但您不在 内部 ,有关详细信息,请参阅 the XEP about MUC,并阅读有关您的特定服务器如何在您的服务器文档上实现它(可能将消息保存在 room-to-offline 用户下,或类似的东西)。
当你进出群聊时,这基本上就是 WhatsApp 中发生的事情,但他们也有自己的自定义方式(他们建立在基本 xmpp 服务器之上的层)让你知道未读消息,其中包括 一项服务(您可以在 phone 的常规设置 -> 应用程序中看到它) 和 推送通知。