Erstellen Sie eine Nachricht, während Sie ein Bild über Asmack senden

Es gibt ein Problem, das beim Senden von Bildern über XMPP auftritt. Nachstehend ist der Codeausschnitt aufgeführt, den ich erstellt habe. Ich weiß nicht, was mit dem Code los ist.

Message msg = new Message(emailId, Message.Type.chat);
            ImageTransferExtension transfer = new ImageTransferExtension();
            transfer.setImageName(mImageUri.getEncodedPath());
            transfer.setUserRecipient(emailId);
            msg.addExtension(transfer);

Und hier ist das ImagesTransferExtension-Code-Snippet

EDIT:

public class ImageTransferExtension implements PacketExtension {

private String userRecipient;
private String ftpUrl;
private String httpUrl;
private String id;
private String typeOfMessage;
private String fieldName;
private String duration;

@Override
public String getElementName() {
    // TODO Auto-generated method stub
    return "x";
}

@Override
public String getNamespace() {
    // TODO Auto-generated method stub
    return "jabber:client";
}

@Override
public String toXML() {
    StringBuilder builder = new StringBuilder();
    builder.append("<" + getElementName() + " xmlns=\"" + getNamespace()
            + "\">");
    if (ftpUrl != null) {
        builder.append("<ftpUrl>").append(ftpUrl).append("</ftpUrl>");
    }
    if (httpUrl != null) {
        builder.append("<httpUrl>").append(httpUrl).append("</httpUrl>");
    }
    if (typeOfMessage != null) {
        builder.append("<typeOfMessage>").append(typeOfMessage)
                .append("</typeOfMessage>");
    }
    if (fieldName != null) {
        builder.append("<fieldName>").append(fieldName)
                .append("</fieldName>");
    }
    if (duration != null) {
        builder.append("<duration>").append(duration).append("</duration>");
    }
    builder.append("</" + getElementName() + ">");

    return builder.toString();
}

public String getUserRecipient() {
    return userRecipient;
}

public void setUserRecipient(String userRecipient) {
    this.userRecipient = userRecipient;
}

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

}

Ich weiß nicht, was ich im Namespace und im Element übergeben soll. Ich ging das Dokument durch, fand aber keine Lösung.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage