1

我正在开发一个简单的 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 不适用于任何用户

显然这是由于“来自”状态。但我希望所有都在线并且都添加到彼此的名册列表中,所以我需要所有三个用户名册列表的订阅状态“两者”。所以他们将是“可用的”如果他们在线。

请帮助我如何实现这一目标。

4

1 回答 1

0

它非常简单。打开 openfire 控制台打开用户选项卡。选择一个用户。打开用户的名册。在名册中选择任何条目,然后打开。编辑该特定条目的属性。在编辑窗口中,有一个设置订阅的选项,会出现一个下拉列表,选择“两者”。现在,您将在您的应用程序中收到名册。

于 2013-08-12T10:05:48.800 回答