4

我正在创建一个基于 XMPP 聊天 Messenger 的应用程序。现在我们需要在应用程序中实现一些自定义功能,例如在 Messenger 中发送/接收好友请求。我们怎么能做到这一点?

roster = _connection.getRoster();
roster.createEntry(userID, nickname, null);

目前我们正在使用这种方法,但它直接在我的信使联系人列表中添加了联系人。现在我想问是否有任何新的朋友请求像 BBM (Blackberry Messenger)。那么它应该在直接添加到当前正在发生的联系人列表之前要求确认。

4

2 回答 2

0

我可以帮你。我有功能齐全的消息传递应用程序。我假设您使用 Smack 或 Asmack 作为 XMPP 库。

添加好友

Presence request = new Presence(Presence.Type.subscribe);
        packet.setTo("john@ejabberd.org");
        mXMPPConnection.sendPacket(packet);

接受请求

Presence accept = new Presence(Presence.Type.subscribed);
                    accept.setTo("john@ejabberd.org");
                    mXMPPConnection.sendPacket(accept);

问我是否还需要其他东西:) 干杯

于 2015-07-29T07:58:29.070 回答
0

发送好友请求/邀请 [user1@domain],

Presence presence = new Presence(Presence.Type.subscribe);
presence.setTo("user2@domain");
connection.sendStanza(presence);

接受好友请求/邀请 [user2@domain],

Presence presence = new Presence(Presence.Type.subscribed);
presence.setTo("user1@domain.com");
connection.sendStanza(presence);

每次用户 2 登录时,服务器都会向用户 2 发送订阅状态数据包,直到用户 2 针对该请求发送任何响应。

于 2016-09-05T19:25:24.593 回答