我正在开发一个简单的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)
这时我看到所有三个用户的名单条目
for user 111
的订阅类型
JID=222@localhost.localdomain : "from"
JID=333@localhost.localdomain : "from"
for user 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不适用于任何用户
显然这是由于“来自”状态。但是我希望这一切都在线并且所有都被添加到彼此的名单中,所以我需要所有三个用户名单的“两者”订阅状态。所以他们将是如果他们在线,则互相“可用”。
请帮助我如何实现这一目标。
答案 0 :(得分:0)
非常简单。打开openfire控制台打开用户选项卡。选择一个用户。 打开用户的名单。在名单中选择任何条目,然后选择该特定条目的open.edit属性。 在编辑窗口中,有一个设置订阅的选项,会出现一个下拉列表,选择“both”。 现在你将在你的申请中收到名册。