android - 在 Xmpp/Openfire 中从花名册中删除 friend

标签 android xmpp openfire

在我的聊天应用程序中。我正在使用 smack library,在订阅管理的帮助下,我完成了将 friend 添加到特定人名册的部分。

现在我希望当有人拒绝好友请求时,我向其他用户发送一个 UNSUBSCRIBE PACKET ,该好友不会从其他用户的花名册中删除。它只显示 NONE 订阅。

代码:

Presence unsubscribe = new Presence(Presence.Type.unsubscribe);
                unsubscribe.setTo(ABC@ABC.COM);             
                connection.sendPacket(unsubscribe);

如何从 friend 的花名册中删除用户。我可以从 openfire 门户网站做到这一点,但不知道如何从代码做到这一点。

最佳答案

来自Smack forum ,此代码可能有效:

RosterPacket packet = new RosterPacket();
packet.setType(IQ.Type.SET);
RosterPacket.Item item  = new RosterPacket.Item("ABC@ABC.COM", null);
item.setItemType(RosterPacket.ItemType.REMOVE);
packet.addRosterItem(item);
connection.sendPacket(packet);

关于android - 在 Xmpp/Openfire 中从花名册中删除 friend ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14317580/

相关文章:

android - 从图库中抓取图片时出现空指针异常

java.lang.ClassCastException : Application1 cannot be cast to Application2

android - Quickblox Android sdk 2.0 Beta 缺少一些类

android - 如何发布和解析 pubsub xmpp smack 库的自定义负载

resources - Openfire服务器,多个连接,route.all-resources不起作用

java - 来自 Camel XMPP 的消息未通过 Openfire 到达 Pidgin

ios - XMPPFramework - 无法从 Openfire 服务器检索聊天历史记录

android - 原生扫描二维码功能

java - 如何在Android中设置DatePicker和TimePicker的限制

ios - XMPPFramework - 如果尚未创建 vCard,则不会更新昵称