2

我们如何初始化 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();

            }
        });
4

2 回答 2

0

你的假设是错误的。创建 MultiUserChat 实例不会使客户端自动加入或创建此 MUC。

所以只需创建实例并添加侦听器。

于 2014-11-06T07:46:10.997 回答
-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对象。

于 2014-11-06T05:48:32.833 回答