/ SDKs / Android
SDKs
Chat SDKs Android v4
Chat SDKs Android
Chat SDKs
Android
Version 4

Receive messages in an open channel

Copy link

Users can receive messages from other participants through the onMessageReceived() method in the channel event handler. A BaseMessage object for each received message is one of the following message types.

Message typeClassDescription

Text

UserMessage

A text message sent by a user.

File

FileMessage

A binary file message sent by a user.

Admin

AdminMessage

A text message sent by an admin through the Chat API

To register multiple concurrent handlers, pass a UNIQUE_HANDLER_ID argument as a unique identifier into the SendbirdChat.addChannelHandler() method.

SendbirdChat.addChannelHandler( UNIQUE_HANDLER_ID, object : OpenChannelHandler() { override fun onMessageReceived(channel: BaseChannel, message: BaseMessage) { // You can customize how to display the different types of messages with the result object in the message parameter. when (message) { is UserMessage -> {} is FileMessage -> {} is AdminMessage -> {} } } } ) 

When the UI isn't valid anymore, remove the channel event handler.

SendbirdChat.removeChannelHandler(UNIQUE_HANDLER_ID); 

Event handler for message threading

Copy link

Once a reply is created or deleted from a thread, the onThreadInfoUpdated() event handler is invoked. The method returns a ThreadInfoUpdateEvent object that has the latest information about the thread. This object needs to be applied to the parent message object.

Note: Like other messages, when a reply is created in a channel, the onMessageReceived() method of the channel event handler in client apps is called.

override fun onThreadInfoUpdated(channel: BaseChannel, threadInfoUpdateEvent: ThreadInfoUpdateEvent) { // Look for a message that has threadInfoUpdateEvent.targetMessageId // Apply the event to the message. parentMessage.applyThreadInfoUpdateEvent(threadInfoUpdateEvent) } 

List of parameters

Copy link
Parameter nameTypeDescription

channel

BaseChannel

Specifies the channel that has the message thread.

threadInfoUpdateEvent

ThreadInfoUpdateEvent

Specifies a ThreadInfoUpdateEvent object that has the latest information about the thread.