0

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 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")が、MUCUser.Invite ではなく DefaultPacketExtension を返します。どうすれば招待者名を取得できるのか疑問です。どんな助けにも感謝します!

4

1 に答える 1

0

message.getBody() を使用して、招待理由と招待者名を含むコンテンツを取得できます。subString() で、招待者の名前を取得します。しかし、それが良い解決策だとは思いません。質問に対する私の疑問は解決されていません。</p>

于 2013-01-04T10:37:18.977 に答える