问题描述
我正在使用xmpp开发聊天应用程序.我已经使用MUC创建了群组,并向其他用户发送了邀请.但是我不知道如何接受和拒绝邀请.
I am developing chat application with xmpp. I have created group using MUC and sent invitation to other user. but i don't know how to accept and decline invitation.
这是我发送邀请的代码:
here is my code to send invitation :
EntityBareJid userInviteJID = JidCreate.entityBareFrom("user2@servicename");
muc2.invite(userInviteJID, "Meet me in this excellent room");
我已经在InvitationReceived()方法中尝试了MultiUserChat.decline(conn, room, inviter.asBareJid()s, "I'm busy right now");
方法.但是问题是MultiUserChat.decline()方法给出了错误:
I have tried MultiUserChat.decline(conn, room, inviter.asBareJid()s, "I'm busy right now");
method inside invitationReceived() method. but the problem is MultiUserChat.decline() method gives error :
有人可以帮助我吗?
推荐答案
您需要在获得邀请时自动加入,这是建立连接后的代码.
you need to auto join while getting an invitation, here is code while a connection is done.
MultiUserChatManager.getInstanceFor(MyApplication.connection).addInvitationListener(new InvitationListener() {
@Override
public void invitationReceived(XMPPConnection conn, MultiUserChat room, EntityJid inviter, String reason, String password, Message message, MUCUser.Invite invitation) {
// Log.e(TAG, "invitationReceived() called with: conn = [" + conn + "], room = [" + room + "], inviter = [" + inviter + "], reason = [" + reason + "], password = [" + password + "], message = [" + message + "], invitation = [" + invitation + "]");
LogM.e("invitationReceived() called with: conn = [" + conn + "], room = [" + room + "], inviter = [" + inviter + "], reason = [" + reason + "], password = [" + password + "], message = [" + message + "], invitation = [" + invitation + "]");
try {
Resourcepart nickname = null;
try {
nickname = Resourcepart.from("MY_JID_HERE");
} catch (XmppStringprepException e) {
e.printStackTrace();
}
try {
room.join(nickname); //while get invitation you need to join that room
room.getRoom().getLocalpart();
} catch (SmackException.NoResponseException e) {
e.printStackTrace();
} catch (SmackException.NotConnectedException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (MultiUserChatException.NotAMucServiceException e) {
e.printStackTrace();
}
Log.e(TAG, "join room successfully");
} catch (XMPPException e) {
e.printStackTrace();
Log.e(TAG, "join room failed!");
}
}
});
这篇关于如何在MUC中接受邀请?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!