Android 如何使用amack通过xmpp获得邀请者名称?
通过阅读asmack source,当创建聊天室并邀请用户加入时,消息会添加一个扩展名Android 如何使用amack通过xmpp获得邀请者名称?,android,xmpp,smack,asmack,Android,Xmpp,Smack,Asmack,通过阅读asmack source,当创建聊天室并邀请用户加入时,消息会添加一个扩展名MUCUser.invite public void invite(Message message, String user, String reason) { // TODO listen for 404 error code when inviter supplies a non-existent JID message.setTo(room); // Create the MUC
MUCUser.invite
public void invite(Message message, String user, String reason) {
// TODO listen for 404 error code when inviter supplies a non-existent JID
message.setTo(room);
// Create the MUCUser packet that will include the invitation
MUCUser mucUser = new MUCUser();
MUCUser.Invite invite = new MUCUser.Invite();
invite.setTo(user);
invite.setReason(reason);
mucUser.setInvite(invite);
// Add the MUCUser packet that includes the invitation to the message
message.addExtension(mucUser);
connection.sendPacket(message);
}
我使用message.getExtension(“x”http://jabber.org/protocol/muc#user”
,但它返回的是DefaultPacketExtension,而不是MUCUser.Invite。所以我怀疑我怎么能得到邀请者的名字。
任何帮助都将不胜感激 使用message.getBody(),它可以获取邀请原因和包含邀请者名称的内容。通过subString(),我获得了邀请者的名称。
但我认为这不是一个好的解决办法,我对这个问题的怀疑没有解决