首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为MultiUserChat添加侦听程序(aSmack)

为MultiUserChat添加侦听程序(aSmack)
EN

Stack Overflow用户
提问于 2013-04-17 14:25:39
回答 2查看 881关注 0票数 2

我们如何初始化MultiuserChat,这些是细节,为了创建MultiuserChat类的对象,我们需要连接和房间名作为参数//这是MultiUserChat的构造函数

代码语言:javascript
复制
  public MultiUserChat(Connection connection, String room) {
    this.connection = connection;
    this.room = room.toLowerCase();
    init();
}

只有在我们有房间的情况下才适用。如果我们在一个房间里。我的问题是,如果我们不在房间内,或者我们没有加入/创建任何房间,我们如何初始化MultiUserChat类。因为要添加诸如邀请、拒绝和addinvitationListener之类的侦听器,我们需要MultiUserChat的对象。

代码语言:javascript
复制
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();

            }
        });
EN

回答 2

Stack Overflow用户

发布于 2014-11-06 15:46:11

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

因此,只需创建实例并添加侦听器。

票数 0
EN

Stack Overflow用户

发布于 2014-11-06 13:48:33

您不需要MultiUserChat对象来获取邀请。你可以使用下面的代码。

代码语言:javascript
复制
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对象。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16053019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档