我正在开发一个简单的 android 聊天应用程序。我正在使用 asmack 一个一个地创建三个用户,并在创建时使用 roster.createEntry()提供名册条目;方法
首先我创造
1.)具有两个名册条目的用户111 (JID=222@localhost.localdomain,JID=333@localhost.localdomain)
然后我创建第二个用户
2.)具有两个名册条目的用户222 (JID=111@localhost.localdomain,JID=333@localhost.localdomain)
然后我创建用户 333
3.) 333有两个名册条目(JID=111@localhost.localdomain,JID=222@localhost.localdomain)
在这里,当我看到所有三个用户的名册条目时
对于用户 111
订阅类型
JID=222@localhost.localdomain : "from"
JID=333@localhost.localdomain : "from"
对于用户 222
订阅类型
JID=111@localhost.localdomain : "to"
JID=333@localhost.localdomain : "from"
对于用户 333
订阅类型
JID=111@localhost.localdomain : "to"
JID=222@localhost.localdomain : "to"
所以我的问题是虽然所有三个用户都在线但是存在如下
a.) 111 对 222 和 333 “可用”
b.) 222 仅适用于 333
c.) 333 不适用于任何用户
显然这是由于“来自”状态。但我希望所有都在线并且都添加到彼此的名册列表中,所以我需要所有三个用户名册列表的订阅状态“两者”。所以他们将是“可用的”如果他们在线。
请帮助我如何实现这一目标。