Browse SDKs · Android
SDKsAndroid

Send a message

Use sendMessage to send a Message to a one-to-one or group conversation.

Copy

sendMessage() sends a previously created Message. Set only recvUid for a one-to-one chat or only recvGid for a group chat. OnMsgSendCallback reports success, failure, and media upload progress separately.

Parameters

ParameterTypeRequiredDescription
messageMessageYesPending message returned by a creation method.
recvUidStringConditionally requiredRecipient user ID for a one-to-one message; leave empty for a group message.
recvGidStringConditionally requiredGroup ID for a group message; leave empty for a one-to-one message.
offlinePushInfoOfflinePushInfoYesOffline-push configuration; pass an empty object when no custom content is needed.
OpenIMClient.getInstance().messageManager.sendMessage(
    new OnMsgSendCallback() {
        @Override
        public void onProgress(long progress) {
            // Update media upload progress.
        }

        @Override
        public void onSuccess(Message sentMessage) {
            // Replace the pending item by clientMsgID.
        }

        @Override
        public void onError(int code, String error) {
            // Mark the item as failed and allow retry.
        }
    },
    message,
    peerUserID,
    null,
    offlinePushInfo
);

Result

The success callback provides the sent Message, including server-assigned identifiers, timestamps, and send state. It means this request completed, not that the recipient has already received the message. The recipient uses Receive messages.