在我的聊天应用程序。 我使用咂嘴库,订阅管理的帮助,我已经完成了添加好友到一个特定的人名册的一部分。
现在我想的是,当一些人拒绝了朋友的要求,我送一个UNSUBSCRIBE包发送给其它用户的相同,朋友不是从其他用户的名单中删除。 它只是表明无订阅。
码:
Presence unsubscribe = new Presence(Presence.Type.unsubscribe);
unsubscribe.setTo(ABC@ABC.COM);
connection.sendPacket(unsubscribe);
我怎样才能删除好友名册用户。 我可以从Openfire的门户网站做,但不知道如何从代码做到这一点。
从啪论坛 ,此代码的工作:
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);
此代码为我工作
if(selectedRoster != null) {
Presence presence = new Presence(Presence.Type.unsubscribe);
presence.setTo(selectedRoster.getUser());
presence.setStatus("Offline");
presence.setShow("unavailable");
ConnectionController.GetInstance(this).getXMPPConnection().sendPacket(presence);
try {
roster.removeEntry(selectedRoster);
} catch (XMPPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}