Skip to main content

Recall Message

In ultra group services, message senders can recall successfully sent messages. After successful recall, the server will delete the original message.

By default, RC imposes no restrictions on who can recall messages. If restrictions are needed, consider the following solutions:

  • The App client can implement its own restrictions on message recall operators. For example, regular users in the App's business logic may be prohibited from recalling messages sent by others, while administrator roles may be permitted to recall messages sent by others.
  • To prevent users from recalling messages not sent by themselves, you can submit a ticket to enable the IMLib SDK to only allow recalling self-sent messages. This restriction is enforced at RC's server level, prohibiting users from recalling messages not sent by themselves.

Monitoring Message Processing

You can set up the setUltraGroupMessageChangeListener listener to monitor remote users' message recall operations:

//Ultra group message change notifications
interface UltraGroupMessageChangeListener {
//Message expansion updates, deletions
void onUltraGroupMessageExpansionUpdated(List<Message> messages);
//Message content modifications
void onUltraGroupMessageModified(List<Message> messages);
//Message recall
void onUltraGroupMessageRecalled(List<Message> messages);
}

//Set ultra group message change listener
public void setUltraGroupMessageChangeListener(IRongCoreListener.UltraGroupMessageChangeListener listener)

Recall a Specific Message

tip

Only successfully sent messages can be recalled.

Interface

class OperationCallback {
onSuccess()
onError(ErrorCode code)
}
//Recall message
public void recallUltraGroupMessage(final Message message, final IRongCoreCallback.ResultCallback<RecallNotificationMessage> callback)

Parameter Description

ParameterTypeDescription
messageMessageMessage object
callbackIRongCoreCallback.ResultCallback<RecallNotificationMessage>Callback interface

Recall a Specific Message and Delete Original Message Data

tip
  • Only successfully sent messages can be recalled.
  • This method will delete the original message data for both the sender and receiver on the client side.

Interface

class OperationCallback {
onSuccess()
onError(ErrorCode code)
}
//Recall message
public void recallUltraGroupMessage(final Message message, final boolean isDelete, final IRongCoreCallback.ResultCallback<RecallNotificationMessage> callback)

Parameter Description

ParameterTypeDescription
messageMessageMessage object
isDeleteBooleanSpecifies whether the mobile client's sender and receiver should delete the original message record locally. When false, the mobile client will not delete the original message record but will replace the message content with a recall notification (gray bar notification). When true, the mobile client will delete the original message record and not display the recall notification (gray bar notification).
callbackIRongCoreCallback.ResultCallback<RecallNotificationMessage>Callback interface