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
| Parameter | Type | Description |
|---|---|---|
| message | Message | Message object |
| callback | IRongCoreCallback.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
| Parameter | Type | Description |
|---|---|---|
| message | Message | Message object |
| isDelete | Boolean | Specifies 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). |
| callback | IRongCoreCallback.ResultCallback<RecallNotificationMessage> | Callback interface |