我们如何初始化MultiuserChat,这些是细节,要创建MultiuserChat类的对象,我们需要连接和房间名称作为参数 //这是MultiUserChat的构造函数
public MultiUserChat(Connection connection, String room) {
this.connection = connection;
this.room = room.toLowerCase();
init();
}
它只适用于我们有房间即。如果我们在一个房间里我的问题是,如果我们不在房间内,或者我们没有加入/创建任何房间我们如何初始化MultiUserChat类。因为要添加诸如邀请拒绝和addinvitationListener之类的监听器,我们需要MultiUserChat的对象。
eg. muc.addInvitationRejectionListener(new InvitationRejectionListener() {
@Override
public void invitationDeclined(String invitee, String reason) {
Log.e("CHECK", "Invitation rejected, Inv- "+invitee+": Reas- "+reason);
Toast.makeText(getApplicationContext() , "Invtn REJECTED, invitee- "+invitee+" :reason-"+reason,
Toast.LENGTH_LONG).show();
}
});
答案 0 :(得分:0)
你的假设是错误的。创建MultiUserChat实例不会使客户端自动加入或创建此MUC。
只需创建实例并添加侦听器即可。
答案 1 :(得分:-1)
您不需要MultiUserChat
的对象来获取邀请。您可以使用以下代码。
MultiUserChat.addInvitationListener(conn3, new InvitationListener() {
public void invitationReceived(XMPPConnection conn, String room, String inviter,
String reason, String password) {
// Reject the invitation
MultiUserChat.decline(conn, room, inviter, "I'm busy right now");
//Accept the invitation
MultiUserChat muc=new MultiUserChat(conn,room);
muc.join(testNickName,password);
}
}
对于邀请拒绝监听器,您需要一个MultiUserChat
对象。